第4章继承和多态简介为了提高软件模块的可复用性和可扩张性,以便提高软件的开发效率,我们总是希望能够利用前人或自己的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块
今天,任何面向对象的程序设计语言都必须提供两个重要的特性:继承性(inheritance)和多态性(polymorphism)
1类的继承4
2重写和多态性4
3抽象类和抽象方法4
4密封类和密封方法4
5静态类和静态方法4
1类的继承-派生类的声明格式继承是OOP(ObjectOrientedPrograming)的一个重要特征,它允许在已有类的基础上创建新类,新类不但从既有类中继承类成员,而且可以重新定义或加进新成员
被继承(也称为被派生)的类为基类或父类,继承后产生的类为派生类或子类
注意,C#中的派生类只能直接继承于一个基类,当然基类也可以有自己的基类
类的继承与派生保持已有类的特性而构造新类的过程称为继承
在已有类的基础上新增自己的特性而产生新类的过程称为派生
被继承的已有类称为基类(或父类)
派生出的新类称为派生类
继承与派生的目的继承的目的:实现代码重用
派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造
派生的过程:吸收已有类成员;调整已有类成员;添加新的类成员
派生类的声明格式派生类的声明格式如下:类修饰符class类名:基类{类体}派生类的注意事项派生类的注意事项只允许单继承,即派生类只能有一个基类继承可传递,即,A派生出B,B又可派生出C派生类可扩展它的直接基类,但不能删除从基类继承的成员构造函数和析构函数不能被继承派生类可以隐藏(new)基类的成员:如果在派生类中声明了与基类同名的新成员时,则该基类的成员在派生类中就不能被访问(但可以用base访问)派生类的声明格式【例4-