《面向对象程序设计》课程教学资源(课件讲稿)第16章 继承(PPT)

第16章继承
第16章 继承

目录16.1继承与派生16.2单继承多继承16.316.4派生类的构造函数与析构函数16.5二义性问题虚基类16.616.7赋值兼容原则
16.1 继承与派生 16.2 单继承 16.3 多继承 16.4 派生类的构造函数与析构函数 16.5 二义性问题 16.6 虚基类 16.7 赋值兼容原则

第16章继承继承是指新类从基类那里得到基类的特征,也就是继承基类的数据和函数该机制自动地为一个类提供来自另一个类的操作和数据结构。程序员只需定义已有类中没有的成分来建立新类。理解继承是理解面向对象程序设计所有方面的关键
• 继承是指新类从基类那里得到基类的特征, 也就是继承基类的数据和函数。 • 该机制自动地为一个类提供来自另一个类的 操作和数据结构。 • 程序员只需定义已有类中没有的成分来建立 新类。 • 理解继承是理解面向对象程序设计所有方面 的关键

第16章继承通过本章学习能利用继承现有的类建立新类能理解继承如何提高软件的重用性可以为一个派生类指定多个基类理解多继承的工作原理了解多继承要解决的问题认识虚拟继承的实质,把握多继承的方法能简单地从多个基类中派生出新类
通过本章学习 • 能利用继承现有的类建立新类, • 能理解继承如何提高软件的重用性。 • 可以为一个派生类指定多个基类 • 理解多继承的工作原理 • 了解多继承要解决的问题 • 认识虚拟继承的实质,把握多继承的方法 • 能简单地从多个基类中派生出新类

16.1继承的概念继承是面向对象程序设计支持代码重用的重要机制。通过继承,可以在原有类的基础上派生出新类。新类将共享原有类的属性,并且还可以添加新的特性,可以把继承过程看成是从一个类派生出一个新类的过程
• 继承是面向对象程序设计支持代码重用的重 要机制。 • 通过继承,可以在原有类的基础上派生出新 类。 • 新类将共享原有类的属性,并且还可以添加 新的特性。 • 可以把继承过程看成是从一个类派生出一个 新类的过程

16.1继承的概念从已有类产生新类的过程,称为派生派生出来的新类称为派生类或子类而被继承的类称作基类或父类一个基类可以派生出多个派生类一个派生类也可以由多个基类派生而来只从一个基类派生的过程称为单继承从多个基类派生的过程称为多继承
• 从已有类产生新类的过程,称为派生。 • 派生出来的新类称为派生类或子类; • 而被继承的类称作基类或父类。 • 一个基类可以派生出多个派生类。 • 一个派生类也可以由多个基类派生而来。 • 只从一个基类派生的过程称为单继承。 • 从多个基类派生的过程称为多继承

计算机类a)单继承台式机类便携式类输入设备类输出设备类b)多继承硬盘类
计算机类 台式机类 便携式类 输入设备类 输出设备类 硬盘类 a) 单继承 b) 多继承

基类/父类祖先类交通工具子类汽车小汽车旅行车卡车面包车轿车工具车图16-1继承的类层次
交通工具 汽车 小汽车 卡车 旅行车 工具车 轿车 面包车 图16-1 继承的类层次 基类/父类 子类 祖先类

16.1继承的概念继承用一种简单的方式来描述事物派生类继承了父类的属性和操作子类也声明了新的属性和新的操作当父类已经存在,在新的应用中不需要修改父类。可以在子类中做增加或修改继承可以帮助描述事物的层次关系,理解事物的本质
• 继承用一种简单的方式来描述事物。 • 派生类继承了父类的属性和操作。 • 子类也声明了新的属性和新的操作。 • 当父类已经存在,在新的应用中不需要修改 父类。 • 可以在子类中做增加或修改。 • 继承可以帮助描述事物的层次关系,理解事 物的本质

16.1继承的概念继承的优势:派生的新类可以增加或调整数据成员和成员函数,添加了基类所没有的特性(功能)。注:当从基类中派生出新类时,可以对派生类做如下几种变化:(1可以增加新的数据成员:可以增加新的成员函数:可以重新定义已有的成员函数:可以改变现有成员的属性(私有、公有、保护)
继承的优势: •派生的新类可以增加或调整数据成员和成员函 数,添加了基类所没有的特性(功能)。 注:当从基类中派生出新类时,可以对派生类做如 下几种变化: ✓① 可以增加新的数据成员; ✓② 可以增加新的成员函数; ✓③ 可以重新定义已有的成员函数; ✓④ 可以改变现有成员的属性(私有、公有、保护)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象程序设计》课程教学资源(课件讲稿)第15章 静态成员函数与友元(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第14章 堆与拷贝构造函数(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第13章 面向对象程序设计(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第12章 构造函数(PPT).ppt
- 《C语言》课程资源_智慧树使用手册_学生端使用手册.ppt
- 《C语言》课程教学课件(PPT讲稿)第25次课(函数定义、调用、参数传递、返回值).ppt
- 《C语言》课程教学课件(PPT讲稿)第27次课(函数进一步讨论).ppt
- 《C语言》课程教学课件(PPT讲稿)第29次课 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿)第31次课(编译预处理命令 位运算 文件).ppt
- 《C语言》课程教学资源(教程讲义)C语言程序设计新思路(1-3章).pdf
- 《C语言》课程教学课件(PPT讲稿,教程)第1章 引论.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第2章 基本的数据与运算.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第5章 循环结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第6章 数组.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第9章 函数.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第10章 函数的进一步讨论.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第11章 编译预处理命令.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第12章 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第14章 文件.ppt
- 《C语言》课程教学资源(教程讲义)C语言主教材附录.pdf
- 《面向对象程序设计》课程教学资源(课件讲稿)第17章 多态(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第18章 运算符重载(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第19章 IO流(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第20章 模板(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第21章 异常处理(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第10章 结构(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第11章 类(PPT).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第12章 多态性.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第13章 模板与异常处理.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第14章 标准库和输入输出流.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第15章 链表.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第9章 类和对象(一).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第10章 类和对象(二).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第11章 继承和派生.ppt
- 山东理工大学:《面向对象程序设计》课程实验指导书(C++).pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第4章 AutoCAD尺寸标注.pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第5章 AutoCAD绘制机械图样表达.pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第6章 AutoCAD绘制机械工程图.ppt
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第1章 AutoCAD设计基础.ppt
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第2章 AutoCAD绘图平面图形.ppt
