C#进阶学习第四天

1.属性

定义:是对字段的扩展,通过公有属性访问私有字段,在属性中生成字段的get() 和 set() 方法
作用:保护字段,对字段的赋值和取值进行限定
结构:访问权限修饰符 类型 名称 一般为字段第一个字母的大写

 public int Age
   {                               
	   get{ return age;}         
	   set{
	    if(age<0 || >100)      age =0;      
        else  age = value;  
         }  
  }

1.只有get()方法,或者set()方法为私有,称为只读属性
2.属性可以加入自己的逻辑代码
3.value 是set()方法里隐藏参数
4.如果类中自己 没有写 构造函数,系统提供一个默认的无参构造函数
5. 如果类型自己 已经写 1个或多个 构造函数重载,系统不在提供一个默认构造函数

2.方法

c#也支持方法重载,可以定义多个名称相同,参数类型,个数,顺序不同的方法
同运算符重载一样,都是重新实现函数的功能

3.构造函数

作用:用来创建类的实例对象,并初始化成员
分类:实例构造函数,静态构造函数

实例构造函数:初始化类中的实例成员
1.特点:
1.可以进行方法重载
2.未定义,则默认产生一个空的构造函数
3.必须和类同名
4.不允许返回类型
注:
函数重载:函数名一样,参数列表不一样(参数的个数,参数的类型,参数的顺序),与返回值类型无关.根据传递参数,调用对应的构造函数.

静态字段由类名调用,属于整个类的成员
静态成员属于 类 的
非静态成员属于 对象 的
静态方法由 类名 调用
非静态方法由 对象 调用
非静态方法 可以 访问 静态成员
静态方法中 不可以 访问非静态成员

静态构造函数:用于初始化类中的静态成员,在创建第一个实例或调用静态成员之前,CLR都会自动调用静构
特点:
1.不使用 任何访问修饰符
2.不带有 任何参数
3.只会执行一次,不能手动调用
4.不能直接调用静态构造函数
5.程序猿无法直接控制静态构造函数的调用时机

4.析构函数

当对象的声明周期结束后,会自动调用析构函数
作用:用于在类销毁之前释放对象中的资源
特点:
1.不用访问修饰符,没有参数 没有返回值
2.名字和类名一样,名字前面带~
注:
对象的成员中,分为托管资源和非托管资源,托管资源自动释放,非托管资源需要析构函数释放
结构体不能定义析构函数

猜你喜欢

转载自blog.csdn.net/JingDuiTell/article/details/88733701