1、类成员的组成 :函数成员和数据成员
数据成员:字段,常量,事件成员
public int a=0;//字段成员 public const int b=90;//常量 public event CustomEventHandler RaiseCustomEvent; //事件成员
函数成员:方法,属性,构造函数,终结器;属性属于函数成员挺意外的。在C++中所称的属性属于数据。
1 class SomeClass 2 { 3 public SomeClass()//构造函数 4 { 5 } 6 public void Fun() { }//方法 7 public int Data { get;set;}//属性 8 public ~SomeClass(){}//终结器(析构函数) 9 }
2、方法中的一些知识点
方法参数中ref out参数的区别和共同点。
方法命名参数的使用。
方法可选参数的使用。
3、属性中注意的知识点
只读和只写属性。
自动实现属性,(不需要显式指定字段)
内联代码?没看懂
4、构造函数知识点
静态构造函数和实例构造函数
静态构造函数存在的意义
构造函数间的显式调用
5、字段
只读字段和常量的区别(静态与否,可否赋值)
6、匿名类型
匿名类型的初始化器怎么写?
匿名类型的对象保存到堆上还是栈上?
在select子句中使用,例子。。。
7、结构
使用:字段很少很简单时,可以指定字段的内存布局(好像类也可以的吧,主要是P/Invoke时平台调用)
结构中的字段,不能在定义时赋值
8、其他类知识点
部分类:Partial关键字,WinForm中很常见,类分布在不同的文件中
静态类:类的成员不能再用static修饰了
扩展方法:在任意一个类(A或者C)中定义静态方法来扩展另一个类的方法,相当于把已知的那个类(B)的同名方法修改了一下
第四章:
9、继承的类型
实现继承:从一个类继承
接口继承:实现某个接口
多继承:只有接口继承可以多继承(可以理解为多实现吗)
10、继承引起的事情
方法隐藏:new 关键字,不使用时在编译时会发出警告
隐藏基类方法后:向上转型时,使用基类的引用就调用基类的方法,和virtual 修饰的结果不同
调用基类的被重写的方法:base.的使用
11、抽象类和抽象方法
抽象方法只能在抽象类中,在普通类中有抽象方法出错
抽象方法和虚方法的相同点:都可被重写;区别:虚方法可被通过base.方法名调用父类的方法,虚方法有方法体
12、密封方法和密封类
密封类作用:为了保护不被继承
密封方法:重写的方法才可以被密封