第11章 丝水和派生
2021/2/24 1 第11章 继承和派生类
继承 问题的提出一个类的子类,能否通过原来的 类来简化程序设计,提高软件的重用性,并使 软件更容易维护。 基本概念 类A继承了类B定义类A时使用了已定义类B的 部分或全部成员。类B称为基类或父类,类A 称为派生类或子类 类树派生类作为另一个类的基类,基类再派生 出若干派生类,即构成类树。 2021/224
2021/2/24 2 继承 问题的提出 一个类的子类,能否通过原来的 类来简化程序设计,提高软件的重用性,并使 软件更容易维护。 基本概念 •类A继承了类B 定义类A时使用了已定义类B的 部分或全部成员。类B称为基类或父类,类A 称为派生类或子类。 •类树 派生类作为另一个类的基类,基类再派生 出若干派生类,即构成类树
如关于雇员和车辆的层次关系: Employe(员) TEacher(教师)Ore政) Worker(工人 Ⅴ chicle((车辆) Car(汽车) Sportscar(赛车) 2021/224
2021/2/24 3 如关于雇员和车辆的层次关系: Teacher(教师) Officer(行政) Worker(工人) Employee(雇员) Car(汽车) Sportscar(赛车) Vehicle(车辆)
对派生类可作如下几个工作: 1全部或部分地继承基类的成员数据或成员函数; 2增加新的成员变量; 3增加新的成员函数; 4重新定义已有的成员函数 5改变现有的成员属性。 C+中两种继承:单一继承和多重继承。如下图所示。 在校人员类 学生类职工类 学生类 职工类 在校人员类 2021/224 单一继承 多重继承
2021/2/24 4 对派生类可作如下几个工作: 1.全部或部分地继承基类的成员数据或成员函数; 2.增加新的成员变量; 3.增加新的成员函数; 4.重新定义已有的成员函数; 5.改变现有的成员属性。 C++中两种继承:单一继承和多重继承。如下图所示。 在校人员类 学生类 职工类 学生类 职工类 在校人员类 单一继承 多重继承
单一继承 派生类定义方式 class派生类类名:< Access>基类类名 i public ●●● ∥公有成员说明 protected: ∥护成员说明 p rivate /有成员说明 2021/224 5
2021/2/24 5 派生类定义方式 class 派生类类名:<Access>基类类名 { public: … //公有成员说明 protected: … //保护成员说明 private: … //私有成员说明 }; 单一继承