1/89
程序设计是计算机学科的
核心和灵魂
程序设计基础
第七章继承机制
2/89
继承的基本概念
C++语言的继承机制
继承与构造函数、析构函数
继承成员的调整
多重继承
重复继承
优化类层次设计
3/89
§ 继承的基本概念
IS-A关系IS-A关系:组织和表达知识,将知识组织成为一种有层次、可分类的结构。
鸭梨是一种(IS-A))梨。
鸭梨具有梨都具有的特征;
鸭梨与其他梨有不同的特征。
动物分类:界(kingdom)、门(phylum)、纲(class)、目(order)、科(family)、属(genus)、种(species)。
4/89
§ 继承的基本概念
继承机制 p237继承(inheritance):在一个类或若干已知类的基础上,经过适当的修改、扩充构成一个新类,这个新类具有原来作为基础类的特征。
继承是面向对象程序所特有的特征。
如果类B继承类A,则类B自动包括了类A中定义的数据成员和成员函数,还可定义类B自己的成员;称类A为类B的父类(parent)、超类(super-class)或基类(base);类B称为类A的子类(child)或派生类(derived-class);
祖先类(ancestor):包括了其父类及其父类的祖先类。
后代类(descendant):包括了其子类以及子类的后代类。
5/89
§ 继承的基本概念
继承机制类的图形表示(UML):
类名
类名
类名
类名
属性
属性
行为
行为
具体
抽象
6/89
§ 继承的基本概念
继承机制类层次表示(UML):
秦冠苹果
国光苹果
水果
苹果
梨
红富士苹果
7/89
§ 继承的基本概念
继承机制IS-A与HAS-A
…轮胎
汽车
真空轮胎
轮胎
8/89
§ 继承的基本概念
C++继承常见的几种形式
D
A
B
C
A
B
C
A
B
C
D
单重继承
多重继承
重复继承
9/89
§ C++的继承机制
继承的语法
继承是类与类之间的一种关系
定义:“类B继承类A”,或者说“类A派生类B”图解为:
则在类B中除了自己定义的成员之外,还自动包括了类A中定义的数据成员与成员函数,这些自动继承下来的成员称为类B的继承成员。
B
A
基类
派生类
10/89
继承的语法
继承的语法
class 派生类名:基类类名表{
public: 公有成员说明列表;
protected: 受保护成员说明列表;
private: 私有成员说明列表;
};
其中基类类名表的格式为:
access 基类类名1, ……, access 基类类名n
access为继承访问控制符,规定了派生类对基类的继承方式,可为public,private或者protected,
继承访问控制符可省略,此时认为是private
§ C++的继承机制
继承机制 来自淘豆网m.daumloan.com转载请标明出处.