第五章讲的是面向对象高级,5.1讲的是类的继承,它是面向对象中一个非常重要的特征,再编写一个新类时可以通过继承一个类的方式自动拥有所有成员(除构造方法和析构方法以外)。构建出来的新类,被称作子类,现有的类被撑称做父类,定义时在子类的后面添加冒号和需要继承的父类类名,在类的继承中,需要注意一些问题:一 继承具有单一性,也就是说一个类只能有一个直接的父类 二 多个类可以继承同一个父类三 多层继承是可以的。当一个类的对象被创建时,如果该类拥有父类的话,在调用自身构造方法之前还会调用父类构造方法。此类在继承父类时可以对父类的成员进行扩展,如果子类出现与父类同名方法可以使用new关键字隐藏基类方法,具体做法就是:在定义子类方法的时候,在修饰符后面加一个new。
然后是装箱与拆箱。装箱就是将值类型转换成引用类型,拆箱就是将引用类型转化为值类型。要注意的是装箱和拆箱本质上数据存储在栈与堆之间的变更,因此频繁地装箱拆箱操作会影响运算效率。5.2讲sealed关键字。在c#中使用sealed关键字修饰的类不可以被继承,也就是说不能派生子类,这样的类被称为密封类。当一个类的方法被sealed关键字修饰后这个类的子类,将不能重写该方法。