面向对象程序设计C++第7章 继承与派生.pptVIP

面向对象程序设计C++第7章 继承与派生.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)成员被继承为保护的。 7.3 派生类的构造函数和析构函数 7.3.1 构造函数 派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。如果派生类中还有子对象时,还应包含对子对象初始化的构造函数。 派生类构造函数的一般格式如下: 派生类名(派生类构造函数参数表):基类构造函数名(参数表) { 派生类中新增数据成员初始化语句 }; 7.3 派生类的构造函数和析构函数 7.3.2 析构函数 和构造函数一样,析构函数也不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。其执行顺序与构造函数执行顺序正好相反。 派生类的析构函数的调用顺序是: (1) 执行派生类的析构函数 (2) 执行基类的析构函数 7.4 多继承 7.4.1多继承的定义 多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。多继承机制如图7-4所示。 类Class_D继承类class_A、clase_B和class_C。换句话说,类Class_D是类class_A、clase_B和class_C的派生类,类Class_D包含类class_A、clase_B、class_C的所有数据成员和成员函数。 7.4 多继承 多继承派生类的语法格式如下: 面向对象程序设计 新世纪高职高专软件专业系列规划教材 C++ % 大连理工大学出版社 地址:大连市软件园路80号 发行:0411E-mail : dutp@ 第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:

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档