计算机科学与编程导论模块课件.ppt

计算机科学与编程导论模块课件.ppt

ID:57167188

大小:369.50 KB

页数:72页

时间:2020-08-02

计算机科学与编程导论模块课件.ppt_第1页
计算机科学与编程导论模块课件.ppt_第2页
计算机科学与编程导论模块课件.ppt_第3页
计算机科学与编程导论模块课件.ppt_第4页
计算机科学与编程导论模块课件.ppt_第5页
资源描述:

《计算机科学与编程导论模块课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模块五继承与派生计算机科学与编程导论本模块主要内容继承与派生的概念派生类的声明方式派生类的构成派生类成员函数的访问属性派生类的构造函数和析构函数多继承虚基类2继承与派生的概念继承与派生保持已有类的特性而构造新类的过程称为继承。在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)。派生出的新类称为派生类。3继承与派生问题举例继承与派生4继承与派生问题举例继承与派生5继承与派生问题举例继承与派生6继承与派生问题举例继承与派生7继承与派生的目的继承的目的:实现代码重用。派生的目的:当新的问题出现,原有程序无法解决(或

2、不能完全解决)时,需要对原有程序进行改造。继承与派生8派生类生成过程三个步骤:(1)吸收基类成员(除构造函数和析构函数外,新类将基类的公有成员全部接受)。因此要慎重选择基类,尽量使继承来的成员发挥作用;(2)改造基类成员(在新类中定义继承方式来控制继承来成员的访问权限;在新类中定义与基类中同名的数据或函数,即“同名覆盖”,实现以新成员取代基类的成员);(3)添加新的成员,包括数据和函数(例如构造函数和析构函数);派生类是基类的详细定义。派生类的构成9派生类的构成Person类stringname;intage;charsex;voiddispla

3、y()基类数据成员成员函数Student类stringname;intage;charsex;voiddisplay()intnum;intclass;voiddisplay()继承派生类新增基类和派生类的关系派生类的构成10派生类的特点(1)可以在基类的基础上包含新的成员;(2)可以在新类中隐藏基类的任何函数成员;(3)可以为新类定义新的成员(包括数据和函数)。派生类的构成11继承方式不同继承方式的影响主要体现在:派生类成员对基类成员的访问权限通过派生类对象对基类成员的访问权限三种继承方式公有继承私有继承保护继承12基类与派生类的对应关系单继承

4、派生类只从一个基类派生。多继承派生类从多个基类派生。多重派生由一个基类派生出多个不同的派生类。多层派生派生类又作为基类,继续派生新的类。单继承与多继承13派生类的声明形式与普通类的声明形式基本相同;只是必须在类声明的头部指明它的基类以及继承方式(基类成员的访问属性),如public、private或者protected;继承方式必须且只能选择一个,缺省默认为private;单继承和多继承的定义形式;派生类的声明方式141、单继承定义格式class<派生类名>:<继承方式><基类名>{<派生类新定义成员>//隐藏基类的成员//代码重用};例:cla

5、ssA{//A类的成员};classB:publicA{//B类的成员};派生类的声明方式152、多继承定义格式class<派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>…{<派生类新定义成员>};例classA{//A类的成员};classB{//类B的成员};classC:publicA,privateB{//类C新添加的成员};派生类的构成16派生类成员函数的访问属性基类的成员可以有public(公有)、protected(保护)和private(私有)三种访问属性;基类的自身成员可以访问基类中任何其它成员,但是基类的对

6、象只能访问基类的公有成员;在派生类中,从基类继承来的成员,其访问属性由继承方式控制;不同的继承方式使得具有不同访问属性的基类成员在派生类中的访问属性也不同:包括派生类的新增成员对继承来的基类成员的访问,以及派生类外部,通过派生类对象对继承来的基类成员的访问。17公有继承(public)基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。通过派生类的对象只能访问基类的publ

7、ic成员。私有成员的不可访问性体现了基类的数据封装性,保护了基类的私有成员。例gf1:一个公有继承的例子。派生类成员函数的访问属性18私有继承(private)基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问。派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。通过派生类的对象不能直接访问基类中的任何成员。私有继承后,基类的成员再也无法在派生类中发挥作用,中止了基类功能的继续派生,比较少用。例gf2:私有继承的例子

8、。派生类成员函数的访问属性19保护继承(protected)基类的public和protected成员都以protected身份出现在派

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。