继承与多态课件ppt.ppt

上传人:大张伟 文档编号:9385402 上传时间:2021-02-23 格式:PPT 页数:24 大小:662KB
返回 下载 相关 举报
继承与多态课件ppt.ppt_第1页
第1页 / 共24页
继承与多态课件ppt.ppt_第2页
第2页 / 共24页
继承与多态课件ppt.ppt_第3页
第3页 / 共24页
继承与多态课件ppt.ppt_第4页
第4页 / 共24页
继承与多态课件ppt.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《继承与多态课件ppt.ppt》由会员分享,可在线阅读,更多相关《继承与多态课件ppt.ppt(24页珍藏版)》请在三一文库上搜索。

1、第四章 继承与多态,继承体现了类和类之间的一种关系,是代码可重用的重要手段。 多态解决了函数之间的同名问题,是在继承的前提下对代码进行改进的机制。,本章内容,什么是继承 为什么需要继承 继承的访问控制 派生类的构造 多继承,继承,面向对象的“class”用来表示某种概念的类型 当概念与概念之间存在联系时,对应的类型也应当表现出这种关联 teacher类:眼、腿、身体、课程 human类: 眼、腿、身体 teacher is a human. 如何表示出它们的联系?,继承,class human int eye; int leg; int body; public: void stand();

2、void talk(); ;,class teacher int eye; int leg; int body; string classname; public: void stand(); void talk(); ;,方法一:重复定义共性,继承,class human int eye; int leg; int body; public: void stand(); void shack(); ;,class teacher human a; string classname; ;,方法二:将共性表示为一种类型,继承,无论是重复定义,还是将共性作为一种类型,都没有表现出类型之间的关系 在

3、C+中,使用“继承”表示类型之间的联系,继承,基类(父类),派生类(子类),继承,通常有关系:子类 is a 父类,Fig.1 单重继承,Fig.2 多层继承,Fig.3 多重继承,继承,继承,继承方式:,class : , ; ,class teacher : public human string classname; . ,继承,派生类的存储对象与基类存储对象之间具有“粘接”的关系,Class human int eye; int leg; int body; Public: ;,m1,Class teacher:public human string name; Public: ;,h

4、1,派生类对象的空间占用基类对象的空间占用,继承,类内的访问控制:派生类是否能访问所有基类成员? 对于基类的私有成员,派生类不能直接访问 protected的作用:只能让子类访问而不能让外界访问的成员 “继承”是对父类的属性和功能扩充的功能,反之是一个抽象过程,继承,继承方式(Inheritance Mode),public,protected,private,protected,protected,private,private,private,private,访问的控制,派生类成员包括两部分: 从基类继承的成员 自身定义的成员,Base Class,Derived Class,派生类对象构

5、造过程包括: 继承的基类数据成员构造 自身定义的数据成员构造 基类定义的构造函数 派生类定义的构造函数,1. 以什么方式完成基类数据成员构造? 2. 按什么顺序执行?,继承,派生类的构造:派生类继承了基类的全部数据成员和除了构造函数析构函数之外的全部成员函数 基类拥有无参构造函数:直接调用 基类只拥有有参构造函数:必须说明,继承,派生类构造函数(参数表):基类(参数表) ;,一个类的各数据成员的构造顺序? 类的对象成员与类的一般数据成员的构造顺序? 构造顺序与析构顺序的关系?,按他们在类定义中出现的先后顺序:先定义者先构造。,先构造类的对象成员,再构造一般数据成员(执行类自身的构造函数体)。,

6、二者顺序相反:先构造者,后析构。,继承,多继承:一个类从多个基类派生,这样的继承结构称为多继承,继承,当多个基类产生命名冲突时,在派生类中访问时,必须明确指明访问对象是来自于哪一个基类,继承与组合 继承是从基类中派生出类 组合是直接使用某个类的结构 根据具体需要决定使用哪种类型,练习1:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度、面积和颜色等数据,练习2:设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数。再由base派 生出工程师类engineer,包含职称和专业私有数据成员以及相关的成员函数。然后由leader和engineer类派生出主任工程师类chairman。采用一些数据进行测试。,end,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1