(5.1)--第5章继承 - (01)_继承与派生.ppt

上传人:奉*** 文档编号:96638481 上传时间:2024-02-01 格式:PPT 页数:11 大小:9.67MB
返回 下载 相关 举报
(5.1)--第5章继承 - (01)_继承与派生.ppt_第1页
第1页 / 共11页
(5.1)--第5章继承 - (01)_继承与派生.ppt_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《(5.1)--第5章继承 - (01)_继承与派生.ppt》由会员分享,可在线阅读,更多相关《(5.1)--第5章继承 - (01)_继承与派生.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象程序设计第章继承基类和派生类封装性封装性多态性多态性继承性继承性面向对象程序设计的基本特性面向对象程序设计的基本特性通过类定义封装数通过类定义封装数据及其操作,隐藏据及其操作,隐藏属性属性通过扩展代码模通过扩展代码模块,实现代码复块,实现代码复用。用。通过虚函数提供通过虚函数提供公共接口,实现公共接口,实现接口复用接口复用第5章继承继承与派生继承与派生01.继承与派生的概念继承与派生的概念02.继承的种类继承的种类03.派生类的声明派生类的声明建筑工业建筑单层厂房多层厂房民用建筑住宅平房多层高层商场医院学校地下建筑人防工程地下车库1.类的继承与派生概念继承和派生的概念源于人们对客观世界

2、的认识过程是自然界普遍存在的一种现象。许多事物之间存在着继承的关系。上层上层:基类基类;下下层:层:派生类。派生类。图图5.1建筑类的继承与派生关系建筑类的继承与派生关系第章继承基类和派生类抽象程度最高抽象程度最高,具具有一般意义的概念有一般意义的概念具体化、特殊化具体化、特殊化抽象化抽象化class Personclass Personclass Studentclass StudentPropertiesPropertiesNameGenderCityOperationsOperationsSpeak()GetInformation()PropertiesPropertiesSNOScho

3、olNameGenderCityOperationsOperationsHaveLesson()Speak()GetInformation()那个具有一般性?那个具有一般性?哪个更具有特殊性、更具体?哪个更具有特殊性、更具体?第章继承基类和派生类2继承的种类继承的种类每一个派生类有且仅有一个基类,派生类可以看作是基类的特例每一个派生类有且仅有一个基类,派生类可以看作是基类的特例单继承单继承:多多继承继承:一个派生类可以有多个基类,它继承了多个基类的特性。一个派生类可以有多个基类,它继承了多个基类的特性。图图5.2 单继承单继承、多继承多继承和多层继承和多层继承(1)继承关系可以是多级的,即可以

4、有类继承关系可以是多级的,即可以有类Y继承类继承类X和类和类Z继承类继承类Y同时存在。同时存在。(2)不允许循环继承不允许循环继承.。(3)基类中能够被继承的部分只能是公有成员和保护成员,私有成员不能被继承。基类中能够被继承的部分只能是公有成员和保护成员,私有成员不能被继承。C+C+的继承关系的继承关系有以下几个特点有以下几个特点第章继承基类和派生类以派生类作为基类再派生出派生类以派生类作为基类再派生出派生类。多级继承:多级继承:第章继承基类和派生类3.派生类的声明class:;说明:(1)派生类定义中,继承方式继承方式只限定紧跟其后的那个基类。如果不显式给出继承方式,系统默认默认为私有继承私

5、有继承。(2)派生方式关键字为private、public和protected。缺省的继承方式是私有继承。继继承方式规定了派生类成员和类外对象访问基类承方式规定了派生类成员和类外对象访问基类成员的权限。成员的权限。(3)派生类新定义新定义的成员是指继承过程中新增加的数据成员和成员函数数据成员和成员函数。l 多继承的定义格式如下多继承的定义格式如下:说明:(1)每一个继承方式对应的是紧接其后给出的基类。(2)必须给每个基类指定一种此派生类从这个基类继承的继承方式,(3)如果缺省,相应的继承方式则取私有继承,而不是和前一个基类取相同的继承方式。l 单继承的定义单继承的定义class派生类名:继承方

6、式1基类名1,继承方式2基类名2,private:派生类的私有数据和函数public:派生类的公有数据和函数protected:派生类的保护数据和函数;【例5-1】在普通的时钟类Clock基础上派生出闹钟类AlarmClock。classAlarmClock:public Clock private:intAH,AM;/响铃的时间boolOpenAlarm;/是否关闭闹钟public:SetAlarm(intAH,intAM);/设置响铃时间SwitchAlarm(boolOpen=true);/打开/关闭闹铃ShowTime();/显示当前时间与闹铃时间;派生类派生类AlarmClock的成

7、员构成图的成员构成图类 名成 员 名AlarmClock:Clock:H,M,SSetTime()ShowTime()AH,AM,OpenAlarmSetAlarm()SwitchAlarm()ShowTime()#includeusingnamespacestd;classClock private:intH,M,S;public:voidSetTime(intH=0,intM=0,intS=0);voidShowTime();Clock(intH=0,intM=0,intS=0);Clock();第章继承基类和派生类派生类的生成过程派生类的生成过程(1)1)吸收基类成员吸收基类成员基类的全

8、部成员被派生类继承,作为派生类成员的一部分。基类的全部成员被派生类继承,作为派生类成员的一部分。(2)2)改造基类成员改造基类成员派生类根据实际情况对继承自基类的某些成员进行限制和改造。派生类根据实际情况对继承自基类的某些成员进行限制和改造。(同名覆盖:如(同名覆盖:如ShowTime()ShowTime()(3)3)添加新成员添加新成员派生类在继承基类成员的基础之上,根据派生类的实际需要,增派生类在继承基类成员的基础之上,根据派生类的实际需要,增加一些新的数据成员和函数成员,以描述某些新的属性和行为。加一些新的数据成员和函数成员,以描述某些新的属性和行为。未被继承的部分(private)被继承的部分(public,protected)被继承的部分 新增加或改变的部分基类基类派生类派生类第章继承基类和派生类总结总结本小节结束IloveyoumorethanIveeverlovedanywoman.AndIvewaitedlongerforyouthanIvewaitedforanywoman.Iloveyoumorethan谢谢谢谢大大家家

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁