- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章继承与多态性.ppt
第七章 继承与多态性 第七章 继承与多态性 7.1 继承 7.2 多态性 7.3 运算符重载 7.1 继承 7.1.1 继承的概念 7.1.2 派生类的定义 7.1.3 成员标识问题 7.1.4 赋值兼容规则 7.1.5 继承实例 7.1.1 继承的概念 1. 什么是继承 2. 继承的一般意义 3. 事物的继承性实例 4. 继承对软件开发的意义 5. 继承性的实现方法 6. 继承性的一些术语 1. 什么是继承 继承 (inheritance) 是面向对象方法中的一个重要概念,也是 C++的一种重要机制。顾名思义,继承就是得到父辈的遗产,在此基础上发展自己的事业,可以事半功倍。面向对象思想强调软件的可重用性,继承就是实现可重用性的一种重要途径。在软件开发中,我们不需要一切都从头做起。继承前人开发的软件资源,在此基础上加入自己的特性化部分,不仅可以大大缩短开发周期,而且可使软件资源得以充分的利用。 2. 继承的一般意义 人类认识事物往往有一个从特殊到一般,再从一般到特殊的过程:首先将具体事物的共性抽象出来构成一些大小不同的类,这些类依照从大到小的顺序,按层次排列成一棵倒挂的树,大类中仅包含小类的共同属性,小类在继承大类共同属性的基础上,又定义了自己的特有属性…,这样逐层分解下去,就构成了一个谱系图,我们称之为“类族”。最后,每个具体事物,就是这个类族中某最小类的一个对象。 3. 事物的继承性实例 4. 继承对软件开发的意义 随着计算机硬件技术的发展,软件在市场需求、产品数量、单软件代码量、质量要求和更版速度上,都在不断地增长和提高。一个商品化软件的开发和维护需要投入大量的人力物力,可重用性和可维护性自然成为评价软件的一项重要指标。通过面向对象的继承性,一个软件的开发可以象盖楼房一样,通过抽象,首先构造出具通用性和可重用性的“基类”,再在其上分层次建造出功能更强、数量更多的类来。 5. 继承性的实现方法 作为一种面向对象语言,C++为继承性的实现提供了强有力的手段。在C++程序设计当中,我们可采用层次式的体系结构,通过对基类成员的吸收、改造和加入新成员,使派生出的类表现出更多的特性和更强的功能。然而,继承性的实现并不仅仅表现在语言形式和实现机制上,对于软件开发者来说,更重要的是掌握事物的抽象方法,这样才能根据具体问题设计出一个好的类族、以此为基础开发出一个好的软件来。 6. 继承性的一些术语 一个被它类继承的类称为它类的“基类”或“父类”,一个继承了基类的类称为基类的“派生类”或“子类”。显然,基类和派生类都是一个相对的概念,一个基类可以从其它类派生出来,一个派生类也可以继续派生出其它的类。当一个类是从一个类派生出来时,我们称为“单继承”,否则称为“多继承”。一个基类可以派生出多个类,但不属于多继承范围。 本课程仅讨论单继承情况。 7.1.2 派生类的定义 1. 派生类定义的语法 2. 受保护成员和成员的继承 3. 继承权限 4. 派生类的构造函数 5. 基类和内嵌对象构造函数的调用 6. 派生类的析构函数及调用顺序 7. 派生类定义实例 1. 派生类定义的语法 定义一个派生类的语法是: class 派生类名: 继承权限 基类名 { private: 私有数据成员声明、私有成员函数原型或内联定义 public: 公有数据成员声明、公有成员函数原型或内联定义 protected: 受保护数据成员声明、公有成员函数原型或内联定义 }; 2. 受保护成员和成员的继承 类成员的访问权限除了可以是public或private 之外,还可以是 protected (受保护的)。“受保护”表示具有这种属性的成员只能被本类及其派生类的成员函数所访问或调用。 派生类继承了基类的所有数据成员和成员函数,即派生类成员是由基类的成员和自身的成员所组成,派生类对象所占用的内存空间也就是基类与派生类所占用内存空间之和。然而,派生类只对基类的公有成员和受保护成员有着访问的权利。 3. 继承权限 派生类定义中的 “继承权限” 可以是 public、private、protected 之一,其意义分别为: public: 基类中的公有成员和受保护成员在派生类中仍分别是公有成员和受保护成员。 private: 基类中的公有成员和受保护成员在派生类中都变为私有成员。 protected:基类中的公有成员和受保护成员在派生类中都变为受保护成员。 基类的私有成员,无论是在派生类中、其它类中还是类外,都永远是私有成员。 4. 派生类的构造函数 创建派生类的一个对象时,在调用派生类的构造函数之前,系统首先要调用其基类的构造函数,为基类的数据成员分配内存空间。如果要对基类和派生类的任何数据成员初始化,就必须在派生类中定义带形参的构造函数,并把形参作为实参传
您可能关注的文档
- 10级化学类分析化学实验(一)(下)(仪器分析)分组安.doc
- 2011年全国高中化学竞赛模拟试题一.doc
- 2013年度昆明市科技计划项目申报指南.doc
- 2013年望城区中小学教育信息化系统政府采购变更公告Ⅱ附件.doc
- 2015届高三级第二次月考生物试题.doc
- 2015高考新课标I理科综合化学部份.doc
- 2017年山东省职业院校技能大赛高职组汽车检测与维修赛项.doc
- 2017年衢州市柯城区医疗卫生事业单位.doc
- ml9102comments.doc教学评量与评鉴的评论revTLYehFCC.doc
- ——《特色小镇实操课程》招生简章——.doc
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
最近下载
- 基于智能化技术的供水管网漏点判定与修复管理模式.pptx
- 2023-2024学年沪科版(2019)高中信息技术必修二第三单元项目五《规划并连接数字家庭系统的网络——组建小型信息系统网络(一)》说课稿.docx VIP
- 北京市城镇供水厂生产安全事故隐患目录.pdf VIP
- 业主委员会委员候选人推荐表.docx VIP
- NB-T35003-2023水电工程水情自动测报系统技术规范.pdf VIP
- 2025年高考英语陕西卷含解析及答案.docx VIP
- 2025年管道直饮水项目可行性研究报告.docx
- 地理信息安全在线培训考试题目完整版答案.docx
- 幼儿园区域活动的实施策略.pptx
- 10kV及以下变电所设计规范.pdf VIP
文档评论(0)