我在7月12号买了C#2005&.NET3.0高级编程这本书学习,决定在工作之余每天看一点,已看了几日,今日看书时突发奇想,把自己每天看书的体会和一些疑问写在博客上,在书写的过程中,也可以对自己每日所学加深印象。
今天我看的是第4章——继承与接口。C#类支持单一的实现继承和任意多个接口继承,而结构只派生于System.ValueType,但可以派生于任意多个接口。
实现继承的体会如下:
所有的类派生于System.Object。
派生类可以继承基类的所有。
基类的virtual方法和属性可以在派生类中override.
派生类可以使用new隐藏基类中相同签名的但没有声明为virtual和override的方法。
this可以调用当前类的方法,base可以调用基类的方法。
在派生类实例化的过程中,构造函数的执行过程是从System.Object ——基类——派生类。
sealed,声明类时表示类不能被继承,声明方法时表示方法不能被重写,一般在声明方法时和override一起使用,否则没有意义。
abstract,声明抽象类和方法,类不能被实例化,方法没有执行代码,用于派生类重写。
接口继承:
接口可以继承接口。
继承接口的类必须实现接口中的方法、属性和事件。