1 类和对象的概念
类:抽象的概念,创建对象的模板,一组相似事物的统称。
数据成员:名词性
方法成员:动词性
对象:类的具体实例。
2 开发时,通常每个类都在一个独立的C#源文件中。
3 创建类的字段、属性、方法等成员时,对于类私有的成员加上Private。
4 存在歧义的情况时,使用this关键词指明类的成员。
5 创建实例的步骤:声明该类类型的引用变量,实例化该类类型的引用(分配内存并初始化,将类型的引用赋值给变量)。
6 private public 关键词的使用。
7 类成员:字段
8 类成员:属性
命名方式:所有单词首字母大写。
本质:get()和set()两个方法,隐式调用该方法。
作用:代替直接操作字段,保护字段(1只读只写 2读写前进行数据处理、逻辑判断等)。
比喻:字段(老板),属性(助理)。
自动属性:自动创建关联字段。
9 类成员:构造函数
作用:提供创建对象的方式,常用于初始化对象的数据成员。
本质:是一种方法,但无返回,与类名相同,实例化对象时执行。
特性:没有构造函数则编译器默认提供无参数的构造函数,有构造函数则编不提供。
构造函数可以重载,例如重载无参数的构造函数。
若希望该类不在外部创建,可Private 所有构造函数。
构造函数共有的代码,可以设置一个private构造函数,然后用this去调用。
构造函数可以通过:this(parameters)调用重载的构造函数。
10 泛型集合
List<数据类型> 引用名 = new List<数据类型>(parameters)
相较于数组,功能更强
字典集合
Dictionary<key,value> 名 = new Dictionary<key, value>
11 继承 :父类
适用性:共有代码且从属一个概念(例如,子类老师和学生都有名字,则可以继承父类人的名字)
子继承父,可以访问public, protected ,不可以访问父类的private
父不可以访问子
父类型的引用可以指向子类对象(例如,Person person = new Student() ),但只能使用父类成员,相访问子类成员则需类型转换。
12 静态 static
静态成员:属于类,通过类名调用,先于对象存在,所有对象共享一份,常驻于内存。
实例成员:属于对象,通过对象引用调用,实例化对象后才存在,每个对象都存储一份。
13 静态字段 static field
静态构造方法:初始化类的静态数据成员,提到该类时执行一次。
静态方法:不能访问实例成员的数据。
静态类:只有静态成员。
静态类不能被继承,但静态方法和属性可以被继承。
一般工具类做成静态类。
14 结构 struct
类似于 class,最大的特点是:值类型
每个结构提供一个无参数的构造函数,将结构成员设置为默认值,不能重载和屏蔽;
有参数的构造函数必须为所有成员赋值
适用性:用于封装小型相关变量
优点:相对于类,省了引用,可以节省内存,减少寻址次数,即开销小。