C#OOP的一些小知识点,希望对大家有用。
用法:前提:定义委托 //任意一个类的外面写
1.定义事件(就是声明一个封装了的委托变量)//事件源中写
public event 委托类型名 事件名;
2.订阅事件(给事件绑定方法)
事件名 += new 委托类型名(方法签名);// 事件响应者的方法
3.引发事件(类似于调用委托)//事件源中写
事件名(参数1,…);
注意:事件一般涉及2个对象:事件源 和 事件响应者
第七章
1.继承:子类(派生类)继承父类(基类),子类就拥有了父类的属性和方法
语法:(定义类时) 子类:父类
特点:1.单根性。一个子类只能继承一个父类
特点:2.传递性。如果A继承B,B继承C,那么A也继承C
2.protected:(受保护的)用它修饰的成员变量或方法,就只能给它自己或它的子类使用
3.继承中的构造方法:先调用父类构造方法,再调用子类构造方法
方式1:隐式调用:默认情况下(不做任何指定),子类会调用父类不带参数的构造方法
方式2:显式调用:指定调用父类的某一个构造方法。
public Son(string name,string sex,string color)
: base(name, sex)
{
headColor = color;
}
4.sealed:如果你的类不想被继承,可以加该关键字
5.继承中方法的重写(override)(多态)
语法:父类的方法用virtual(或override)修饰,子类可以用override对其进行重写 作用:参考案例lesson7
注:子类继承父类,那么可以把子类对象放到父类引用里
6.重载(overload)和重写(override)的区别
区别:1。重载是一个类里,有多个相同名称的方法;重写是在两个类里(父子类),各自有相同名称的方法。
2.重载方法名相同,参数列表不同;重写方法名相同,参数也相同,用virtual修饰父类方法,override修饰子类方法
第八章