面向对象程序设计及C++(第3版)
上QQ阅读APP看书,第一时间看更新

1.2.3 继承性

继承是面向对象的程序设计提高代码重用性的重要措施。继承表现了特殊类与一般类之间的上下分层关系,这种机制为程序员提供了一种组织、构造和重用类的手段。继承使一个类(称为基类父类)的数据成员和成员函数能被另一个类(称为派生类子类)重用。在派生类中,只需增加一些基类中没有的数据成员和成员函数,或是对基类的某些成员进行改造,就可以避免公共代码的重复编写,减少代码和数据冗余。

例如,图1-1描述了类的继承关系。如果已经定义了学生类,其中,有表示就读学校、姓名、学号、成绩等的数据成员,还有表示上课、考试的成员函数。现在,定义一个大学生类,根据大学生的特点再增加专业、学分这两个数据成员,增加毕业设计等成员函数,就可以直接使用学生类中已有的所有成员。这样,在定义大学生类时,需要编写的代码相对较少,缩短了开发周期。

如果没有继承机制,每次的程序开发都要从“零”开始,系统的开发和维护开销都很大。

图1-1 类继承关系示意图

从图1-1中可以看到,类的继承可以多次进行,从一般的学生类到它的子类大学生类,再到更下一层的在职大学生类,越往下层越具体。最下层的在职大学生类不仅继承了直接基类大学生类和职工类的所有特性,还继承了间接基类学生类的特性。