北大青鸟 c 第八章 继 Ⅴ ersion3.0 CHA
Version 3.0 继承 第八章
回顾 友元函数 友元类 操作符重载 北大青鸟
2 回顾 • 友元函数 • 友元类 • 操作符重载
目标 继承 ·访问控制 继承中的构造函数和析构函数 函数覆盖 北大青鸟
3 目标 • 继承 • 访问控制 • 继承中的构造函数和析构函数 • 函数覆盖
继承 继承是允许重用现有类来构造新类的特性 基类 派生类 方法和属性 基类方法 附加方法 北大青鸟
4 继承 继承是允许重用现有类来构造新类的特性 基类 方法和属性 派生类 基类方法 + 附加方法
优点 代码的可重用性-类库 重定义基类的成员函数 向派生类添加新成员 不需要了解核心技术的细节 北大青鸟
5 优点 • 代码的可重用性-类库 • 重定义基类的成员函数 • 向派生类添加新成员 • 不需要了解核心技术的细节
单一继承21 将类之间的相似性质联系起来 单一继承是从现有基类创建新类的过程 6 北大青鸟
6 单一继承 2-1 • 将类之间的相似性质联系起来 • 单一继承是从现有基类创建新类的过程
单一继承22 处理某企业中雇员的程序 Employee基类 使用一个箭头从派生类 指向基类 派生自 表示派生类引用基类的 函数和数据,而基类没 Manager派生类 有访问派生类的权限 北大青鸟
7 单一继承 2-2 • 处理某企业中雇员的程序 Employee Manager 基类 派生类 派生自 • 使用一个箭头从派生类 指向基类 • 表示派生类引用基类的 函数和数据,而基类没 有访问派生类的权限
基类和派生类 派生类的声明必须指定基类的名称 class Manager public Employee 任何类都能用作基类 基类分为两种类型 直接基类 间接基类 北大青鸟
8 基类和派生类 • 派生类的声明必须指定基类的名称 class Manager : public Employee • 任何类都能用作基类 • 基类分为两种类型 – 直接基类 – 间接基类
直接基类和间接基类 直接基类 class A c1assB:pub1iA//是B的直接基类 间接基类 class A class B: public A }; c1assc:pub1icB//A是B的间接基类 }; 北大青鸟
9 直接基类和间接基类 • 直接基类 class A { }; class B : public A //A是B的直接基类 { }; • 间接基类 class A { }; class B : public A { }; class C : public B //A是B的间接基类 { };
继承的类型 继承 单一继承 层次继承 多级继承 多重继承 北大青鸟
10 继承的类型 继承 多级继承 单一继承 多重继承 层次继承