继续C#学习
继承
继承类型:实现继承和接口继承
实现继承:表示一个类型派生与一个基类型,拥有该基类型的所有成员字段和函数。
接口继承:表示一个类型只继承函数的签名,没有继承任何实现代码。
结构和类
结构不支持实现继承,但支持接口继承。
结构总是派生与System.ValueType,他们还可以派生与任何多个接口。
类总是派生于用户选择的另一个类,他们还可以派生与任何多个接口。
虚方法
把一个基类函数声明为virtual,该函数就可以在任何派生类中重写override了
object.ToString()
隐藏方法
调用函数的基类版本
base.<MotherName>()
抽象类和抽象函数
abstract 抽象类不能被实例化,抽象函数没有执行代码,必选在非抽象的派生类中重写,抽象函数也是虚函数,但不需要提供virtual关键字。如果类包含抽象函数,则类也是抽象的,也必须声明为抽象类。
密封类和密封方法 sealed
对于类来说,表示不能继承该类,对于方法来说,表示不能重写该方法。
派生类的构造函数
基类的构造函数最先执行
继承
继承类型:实现继承和接口继承
实现继承:表示一个类型派生与一个基类型,拥有该基类型的所有成员字段和函数。
接口继承:表示一个类型只继承函数的签名,没有继承任何实现代码。
结构和类
结构不支持实现继承,但支持接口继承。
结构总是派生与System.ValueType,他们还可以派生与任何多个接口。
类总是派生于用户选择的另一个类,他们还可以派生与任何多个接口。
虚方法
把一个基类函数声明为virtual,该函数就可以在任何派生类中重写override了
object.ToString()
隐藏方法
调用函数的基类版本
base.<MotherName>()
抽象类和抽象函数
abstract 抽象类不能被实例化,抽象函数没有执行代码,必选在非抽象的派生类中重写,抽象函数也是虚函数,但不需要提供virtual关键字。如果类包含抽象函数,则类也是抽象的,也必须声明为抽象类。
密封类和密封方法 sealed
对于类来说,表示不能继承该类,对于方法来说,表示不能重写该方法。
派生类的构造函数
基类的构造函数最先执行