文档详情

面向对象程序设计(C++)( 第二版) 课件 第7章 继承与派生.ppt

发布:2017-08-14约字共22页下载文档
文本预览下载声明
尚辅网 尚辅网 * * * * * * * * * * * * * * * * * * % 大连理工大学出版社 地址:大连市软件园路80号 发行:0411E-mail : dutp@ C++ 面向对象程序设计 新世纪高职高专软件专业系列规划教材 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C++编程基础 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象 xxx xxxxx 目 录 页 xx 目 录 页 第7章 继承与派生 大连理工大学出版社 地址:大连市软件园路80号 E-mail : dutp@ URL:http://www.dutp,cn 尚辅网 尚辅网 尚辅网 学习目标 理解继承和派生类的概念 掌握单继承和多继承的定义方法及应用 掌握三种继承方式的访问控制 掌握多继承中二义性的两种处理方法 尚辅网 7.1 继承与派生 7.1.1 基本概念 在使用面向对象程序设计方法解决问题时,一般先建立与实际问题相关的类,然后对类进行实例化,即生成对象,最后利用对象的属性和方法编写解决问题的方案。由此可见,构建类是解决问题的关键。 在许多现实问题中,所涉及的类多数是相关的。例如,学生、教师都是人,都有人的基本属性,如姓名、年龄等,但各自有自己的特点,如学生有成绩、学号;教师有工作部门、职称级别等。显然,教师和人两个类具有相关性。 这种特殊的类之间的关系,为构建类提供了一种特别的方式——继承,即如果已经拥有了一个类(如人类),则可以通过继承这个类的成员,再加入扩充新成员(如教师的职称、部门),构建一个新类(教师类)。 尚辅网 7.1 继承与派生 7.1.1 基本概念 图7-1 类之间的继承与派生关系 尚辅网 7.1 继承与派生 7.1.2 单一继承 1.单一继承的定义 在单一继承方式下,定义派生类的格式如下: } 尚辅网 7.1 继承与派生 2.派生类的生成过程 在C++程序设计中,一般先建立基类,然后建立派生类,再通过派生类创建对象进行实际问题的处理。 派生新类一般要经过吸收基类成员、改造基类成员和添加新的成员三个阶段。 ? 吸收基类成员:首先是将基类的成员全部接收,这样,派生类实际上包含了其所有基类中除构造函数和析构函数之外的全部成员。 ? 改造基类成员:一是通过继承方式,改变基类成员的访问控制。二是通过覆盖,即在派生类中定义一个和基类同名的成员(对于成员函数,参数必须一致)。 ? 添加新的成员:新增成员是继承与派生机制的核心,是保证派生类在功能上有所发展的关键。 尚辅网 7.2 三种继承方式 基类的成员可以有3种访问权限,分别是private、protected和public。基类中的成员函数可以对基类中任何一个其他成员访问,但是在基类外部,通过基类的对象只能访问该类的public成员。 公有继承(public)、私有继承(private)和保护继承(protected)是常用的三种继承方式。在不同的继承方式下,原来具有不同的访问权限的基类成员在派生类中的访问权限可能发生变化。三种继承的访问属性如表7-2所示。 尚辅网 7.2 三种继承方式 7.2.1 公有继承(派生) 公有继承的特点是基类的公有成员和保护成员作为派生类成员时,它们都保持原有的状态,而私有成员是不能被继承的。 即: ? 基类的公有段(public)成员被继承为公有的。 ? 基类的私有段(private)成员在派生类中不可见。 ? 基类的保护段(protected)成员被继承为保护的。 尚辅网 7.2 三种继承方式 7.2.2 私有继承(派生) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,所以派生类的其他成员可以访问它们,但是在类外部通过派生类对象无法访问它们。 即: ? 基类的公有段(public)成员被继承为私有的。 ? 基类的私有段(private)成员在派生类中不可见。 ? 基类的保护段(protected)成员被继承为私有的。 尚辅网 7.2 三种继承方式 7.2.3 保护继承(派生) 保护继承的特点是基类的公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友员访问。 即: ? 基类的公有段(public)成员被继承为保护的。 ? 基类的私有段(private)成员在派生类中不可见。 ? 基类的保护段(protected)成员
显示全部
相似文档