C#的几个学习要点
初学C#,对很多概念都弄不清楚,特地写此总结:
面向对象:
- 找个对象帮你做事;
- 把出现在每个过程中事物,对象一般是被动的那个;
- 屏蔽所有人的差异,写出通用的代码;
对象:一定是经过实例化之后的具体事物,看得见,摸得着。
面向对象的基础为抽象类,类的基本组成有:字段、属性、方法。
字段(Field):用于保存类中的数据,字段命名应该以下划线开头;
属性(Properties):保护、限定字段,对字段的赋值和取值进行限定;
方法(Method):类的作用、方法,执行的操作;
属性的本质就是两个方法:对象具有的各种特征,只是一个中间变量,本身并不保存任何数据,在对外输出时,应该使用属性;
- set():用于控制赋值
- get():用于控制取值
类:把多个对象共同具有的属性和方法抽象出来,进行封装,类就是模子,确定了对象应该具有的属性和方法。
静态类与非静态类
使用
方法中才有小括号,创建完对象,先执行构造函数;
类的初始化:创建类,并对类的各个属性进行赋值的过程;
类中的构造函数,用来创建对象,并且可以在构造函数中对对象进行初始化(给对象的每个属性依次进行赋值)
- 构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用;
- 构造函数可以有参数,new对象的时候传递参数即可;
- 如果不指定构造函数,则类中有一个默认的无参构造函数;
- 如果制定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写;
- 构造函数可以重载,也就是多个参数不同的构造函数(一样的函数名字,但是参数的个数不一样);
- 认识类图
关键字:new
- 在内存中开辟一块空间;
- 在开辟的空间中创建对象;
- 调用对象的构造函数进行初始化对象(要求构造函数的修饰符必须为public);
关键字:this
- 代表当前的类
- 在类当中显示的调用本类的构造函数 :this
关键字:base
- 父类的构造函数要优先于子类的构造函数;
- 调用基类上已经被其他方法重写的方法;
- 指定创建派生类实例时应调用的基类构造函数;
- 基类访问只能在构造函数、实例方法或实例属性访问器中进行;
- 静态方法中使用base关键字是错误的
析构函数
- 析构函数(destructor)与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一片空间,应该退出前在析构函数中用delete释放)。
- 析构函数名也应该与类名相同,只是在函数名前面加一个波浪符~,例如~stu(),以区别构造函数。它不能带任何参数,也没有返回值(包括void类型)。一个类只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。所以许多简单的类中没有用显示的析构函数。
- 在C#中使用解构器需要记住如下几点:
对一个类的字段进行限制可以从set/get/构造函数进行;
在类的方法中输出属性时,应该加上this,因为可能会受到局部变量的影响;
快速引用命名空间:ALT+SHIFT+F10
疑问:
- 重新赋值的一个过程吧?
转载于:https://www.cnblogs.com/shuichangdong/p/8215748.html
总结
- 上一篇: 关于博客更新说明
- 下一篇: C#获取枚举描述代码