继承:在类中建立层次,一种相交的关系。使新派生的类(子类)的实例可以继承已有的基类(父类)的特征(属性)和能力 (方法),而且可以加入新的特征和能力。
继承是可以传递的,如:类A派生B,类B派生类C,那类C就能继承到类B和类A的声明的成员, 构造和析构函数不能继承(没有返回值),但可以通过this调用。
语法 :Class 派生类名:基类名
{
派生类的属性和方法;用(base)调用基类的构造函数(属性)。
}
多态: 更改基类的数据和行为:替换和重写。
替换:使用new关键字放在替换的类成员的返回值之前。 覆盖基类的方法。
完全的替换需要将基类声明为虚拟的 virtual关键字(抽象类使用abstract)。派生类用Override关键字(实现基类的抽象方法 )
抽象类的语法: abstract class Person
Public virtual /override void work ()
接口:类似于模版,接口定义了一系列的方法,许多类都可以去实现它的方法。而且一个类可以实现多个接口。接口不能实例化~
声明 interface 。接口的主体一般为公共抽象的,即 Public abstract 型 ,可以省略。 void work()
语法: [访问修饰符] interface 接口名 { 接口主体 } ;
C# 中只允许同时集成一个类,但可以同时实现多个接口。此时:后先是基类,然后是接口,接口没有次序·!
委托:就是一定义了一个封装特定参数类型和返回值类型的方法体(静态或实例方法)的数据类型。要求方法的实现和委托必须有相同的参数类型,即相同参数个数和数据类型。
语法: [访问修饰符] delegate 数据类型 委托名 (参数列表)
委托的实例化 委托名 实例名 = new 委托名(方法名); 调用 实例名(参数)
事件 :定义 ,订阅 ,引发 event 关键字
定义 : Public delegate void Math(int num1,int num2);
private event Math eventMath;
订阅: eventMath += new math(Add)
引发 : 类名. 事件(参数);
多重传送事件 ,指通过委托将多个事件添加到该事件中~订阅了多个方法 。