面向对象程序设计技术C++课件第4章

面向对象程序设计技术C++课件第4章

ID:38517224

大小:83.50 KB

页数:19页

时间:2019-06-14

面向对象程序设计技术C++课件第4章_第1页
面向对象程序设计技术C++课件第4章_第2页
面向对象程序设计技术C++课件第4章_第3页
面向对象程序设计技术C++课件第4章_第4页
面向对象程序设计技术C++课件第4章_第5页
资源描述:

《面向对象程序设计技术C++课件第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章继承与派生本章主要内容继承的概念派生类访问权限控制派生类的构造函数和析构函数多继承2《面向对象技术与VisualC++》--第4章继承的概念类的继承就是根据一个类创建一个新类的过程。新类自动具有已有类的所有成员,并可根据需要添加更多的成员。换个角度,从已有类产生新类的过程就是类的派生。通常将用来派生新类的类称为基类,又称为父类,而将派生出来的新类称为派生类,又称为子类。3《面向对象技术与VisualC++》--第4章派生类派生类是特殊的基类,基类是派生类的抽象描述。派生类继承了基类的所有特性,但不等同于基类,否

2、则就没有派生的必要了。继承的作用就是体现特殊与一般的关系,寻找有共性的事物间的差异,求其发展;另一个作用是代码重用,从基类派生子类,无需修改基类的代码,就可以直接调用基类的成员,而自己的代码只需在派生类中实现即可。4《面向对象技术与VisualC++》--第4章派生类的定义class<派生类名>:<继承方式><基类名>{<派生类新定义成员>};其中,<继承方式>有三种:公有继承、私有继承和保护继承,分别用关键字public、private和protected表示。缺省情况下为私有继承。例4_15《面向对象技术与Vis

3、ualC++》--第4章派生类的生成过程分析派生新类的过程可知,派生类的生成经历了三个步骤:吸收基类成员改造基类成员添加派生类新成员6《面向对象技术与VisualC++》--第4章访问权限控制不论哪种继承方式,派生类新定义成员均不能直接访问基类的私有成员,只能通过基类的公有成员函数或保护成员函数访问基类的私有数据成员,而基类的私有成员函数根本就不会继承,更谈不上使用。所以,除非仅限于本类使用,否则,一般不将成员函数定义为私有成员。7《面向对象技术与VisualC++》--第4章公有继承的访问权限控制类的继承方式为公有

4、继承时,在派生类中,继承的基类的公有成员和保护成员的访问属性不变,而对基类的私有成员不可访问。即基类的公有成员和保护成员被继承后分别作为派生类的公有成员和保护成员,派生类的成员可以直接访问它们,而派生类的成员无法访问基类的私有成员。在类外,派生类的对象可以访问继承下来的基类公有成员。例4_28《面向对象技术与VisualC++》--第4章私有继承的访问权限控制当类的继承方式为私有继承时,在派生类中,继承的基类的公有成员和保护成员变为私有成员,而对基类的私有成员不可访问。即基类的公有成员和保护成员被继承以后作为派生类的

5、私有成员,派生类的成员可以直接访问它们,而派生类的成员无法访问基类的私有成员。在类外,派生类的对象无法访问基类的所有成员。因此,私有继承之后,基类的成员再也无法在以后的派生类中发挥作用,出于这种原因,一般不使用私有继承方式。例4_3例4_49《面向对象技术与VisualC++》--第4章保护继承的访问权限控制当类的继承方式为保护继承时,在派生类中,继承的基类的公有成员和保护成员变为保护成员,而对基类的私有成员不可访问。即基类的公有成员和保护成员被继承以后作为派生类的保护成员,派生类的成员可以直接访问它们,而派生类的成

6、员无法访问基类的私有成员。在类外,派生类的对象无法访问基类的所有成员。10《面向对象技术与VisualC++》--第4章派生类的构造函数派生类构造函数的一般格式如下:<派生类名>(<总参数表>):<基类名>(<参数表1>),<子对象名>(<参数表2>){<派生类数据成员的初始化>};11《面向对象技术与VisualC++》--第4章派生类的析构函数由于基类的析构函数也不能被继承,因此,派生类的析构函数必须通过调用基类的析构函数来做基类的一些清理工作。调用顺序是:先调用派生类的析构函数,再调用对象成员类的析构函数(如果

7、有对象成员),最后调用基类的析构函数,其顺序与调用构造函数的顺序相反。12《面向对象技术与VisualC++》--第4章多继承根据派生类继承基类的个数,将继承分为单继承和多继承。当派生类只有一个基类时称为单继承,以上所讨论的都是单继承。当派生类有多个基类时称为多继承。单继承可以看作是多继承的一个特例,多继承可以看作是多个单继承的组合,它们有很多相同特性。13《面向对象技术与VisualC++》--第4章多继承的定义格式多继承可以看作是单继承的扩展,派生类与每个基类之间的关系可以看作是一个单继承。在C++中,多继承的定

8、义格式如下:class<派生类名>:<继承方式><基类名1>,…,<继承方式><基类名n>{<派生类新定义成员>};14《面向对象技术与VisualC++》--第4章多继承的构造函数<派生类名>(<总参数表>):<基类名1>(<参数表1>),…,<基类名n>(<参数表n>){<派生类数据成员的初始化>};15《面向对象技术与VisualC++》

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

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

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