浅谈c# 面向对象之类与对象

 更新时间:2020年6月25日 11:33  点击:1869

类与对象

1、了解类:从这里开始,学习C#面向对象编程的基本内容,使用C#编程,所有的程序代码都放在类中,结构体是一个用户自定义的类型,是由其他类型组成的变量组,不存在独立于类之外的函数;因此,在面向对象中,类是面向对象编程的基本单元。类与类之间交互。

2、类的定义:一个类都可以包含2种成员:字段和方法。

1)类的字段一般代表类中被处理的数据(变量);

2)类的方法大多数代表对这些数据的处理过程或用于实现某种特定的功能,方法中的代码往往需要访问字段保存的数据。

简单的说,字段即变量,方法即函数。

例如:

复制代码 代码如下:

[public | private] class 类名  //类名前的修饰符默认是public
{
[public | private]  数据类型  变量名;//定义变量
[public | private] 数据类型 函数名(参数列表)//定义函数
    {
        函数体;
   }
}

3、类的字段(即变量)

字段代表了类中的数据,在类的所有方法之外定义一个变量即定义了一个字段。,在变量之前加修饰符public,private,protected表示字段的访问权限。

例:

复制代码 代码如下:

class ren
{
public decimal tizhong; //体重decimal类型
private static decimal nianling;//年龄decima类型,静态的
public int shengao=175;//身高int类型,身高赋值175cm;
}

4、类的方法(即函数)

1)函数的概念

 在程序开发过程中,为了解决代码重复的问题,绝大多数程序设计设计语言都将完成某一公用功能的多个语句组合在一起,起一个名字用于代表这些语句的全体,这样的代码块被称为“函数”。

简单的理解就是,在一个program.cs文件中添加一个类,而这个class类就是专门存放程序需要的函数方法的库(平时的积累),每一个方法函数都由多个变量、语句等组成的一个代码块,而这个代码块有一个方法名,(在方法名前加修饰符public,private,protected等表示这个函数的访问权限)需要时直接在主函数的文件中调用这个方法名即可。

例如:

<1>有返回值的情况(多种数据类型,如int,string,double等):

复制代码 代码如下:

class  类名{
 public int  函数名(int x,int y)
{
int z=x+y;
return z;//上面函数的数据类型就是return要返回的数据类型,一定要对应一致,才能在主函数中调用并输出返回值;
}
}

<2>无返回值的情况(void)

复制代码 代码如下:

class  类名{
 public void  函数名(int x,int y)//如果没有返回值,即在定义函数名前加void;
{
int z=x+y;
Console.Write("z的值为:"+z);直接在函数中输出
 return;//或者直接return+分号;即没有返回值,不用在主函数中调用输出
}
}

2)方法的定义与使用

定义:放在一个类的函数(通常加一个存取权限修饰符)称为“方法”;

调用一个方法最基本的方式是通过类创建的对象。new初始化对象的过程是创建一个新对象的过程,利用原有的模板创建一个新的对象,开辟一个新的空间。

例如:ren r=new ren();

例如:在ren类中定义一个Add()方法:

复制代码 代码如下:

public class ren()
{
public int Add(int x,int y)
{
return x+y;
}
}

在主函数调用ren()这个方法:

复制代码 代码如下:

static void Main(string[] args)
{
ren r=new ren();//创建ren类的对象,命名r
int result=r.Add(100,200);//通过对象调用类的方法,结果保存在局部变量中
}

3)【重点】方法重载(在同一命名空间下,同一个类中,同一个方法,参数不同/参数的个数不同/返回值不同)

复制代码 代码如下:

class shu//同一命名空间,同一个类下
{
public int Add(int x,int y)//方法Add整数型相加
{
return x+y;
}
public double Add(double x,double y)//方法Add浮点数相加
{
return x+y;
}
}

两个构成重载关系的函数必须满足如下关系:

1)函数名相同;

2)参数类型不同,或者参数个数不同

5、【重点】函数在命名空间(又称为程序集)内的引用时,不同修饰符的区别:

1)public 公用的,在同一个命名空间内可以引用;在不同的命名空间,需要引用当前的命名空间,使用[using +命名空间的名称];

2)private 私有的,只对private位于的当前这个类起作用;

3)protected 受保护的,只作用于当前这个类,但(集成)也可以作用于当前这个类的子类。

4)static 静态的,静态变量只能在静态方法中使用,静态变量不能跨类使用(只能在累加求和时使用)

6、类的静态成员(字段和方法)

1)静态字段(即静态变量)

public static int nianling;

2)静态方法(即静态函数)

定义

复制代码 代码如下:

class 类名
{
public static void jingtai()
{
nianling=18;
}
}

【注意事项】

1、普通方法(不是静态方法的):在当前类中,不需要初始化,可直接使用;

在当前类中,定义的变量可直接当做一个普通变量使用。

2、在静态方法中,不允许使用除了静态变量之外的其他外部成员变量,除非对象初始化(new)就可以引用。

3.主函数(也属于static)中,调用函数方法也必须初始化;只要是带static的方法,都不能直接外部成员变量。

[!--infotagslink--]

相关文章

  • C#实现简单的登录界面

    我们在使用C#做项目的时候,基本上都需要制作登录界面,那么今天我们就来一步步看看,如果简单的实现登录界面呢,本文给出2个例子,由简入难,希望大家能够喜欢。...2020-06-25
  • 浅谈C# 字段和属性

    这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • C#实现简单的Http请求实例

    这篇文章主要介绍了C#实现简单的Http请求的方法,以实例形式较为详细的分析了C#实现Http请求的具体方法,需要的朋友可以参考下...2020-06-25
  • C#中new的几种用法详解

    本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧...2020-06-25
  • 使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)

    这篇文章主要介绍了使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • C#和JavaScript实现交互的方法

    最近做一个小项目不可避免的需要前端脚本与后台进行交互。由于是在asp.net中实现,故问题演化成asp.net中jiavascript与后台c#如何进行交互。...2020-06-25
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • 轻松学习C#的基础入门

    轻松学习C#的基础入门,了解C#最基本的知识点,C#是一种简洁的,类型安全的一种完全面向对象的开发语言,是Microsoft专门基于.NET Framework平台开发的而量身定做的高级程序设计语言,需要的朋友可以参考下...2020-06-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • C#绘制曲线图的方法

    这篇文章主要介绍了C#绘制曲线图的方法,以完整实例形式较为详细的分析了C#进行曲线绘制的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • c#自带缓存使用方法 c#移除清理缓存

    这篇文章主要介绍了c#自带缓存使用方法,包括获取数据缓存、设置数据缓存、移除指定数据缓存等方法,需要的朋友可以参考下...2020-06-25
  • c#中(&&,||)与(&,|)的区别详解

    这篇文章主要介绍了c#中(&&,||)与(&,|)的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • 经典实例讲解C#递归算法

    这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#中list用法实例

    这篇文章主要介绍了C#中list用法,结合实例形式分析了C#中list排序、运算、转换等常见操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25