c++继承与派生ppt课件.ppt

c++继承与派生ppt课件.ppt

ID:58728814

大小:597.00 KB

页数:121页

时间:2020-10-04

c++继承与派生ppt课件.ppt_第1页
c++继承与派生ppt课件.ppt_第2页
c++继承与派生ppt课件.ppt_第3页
c++继承与派生ppt课件.ppt_第4页
c++继承与派生ppt课件.ppt_第5页
资源描述:

《c++继承与派生ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章继承与派生第12章多态性与虚函数第13章输入输出流第14章C++工具第4篇 面向对象的程序设计第11章继承与派生11.1继承与派生的概念11.2派生类的声明方式11.3派生类的构成11.4派生类成员的访问属性11.5派生类的构造函数和析构函数11.6多重继承11.7基类与派生类的转换11.8继承与组合11.9继承在软件开发中的重要意义面向对象程序设计有4个主要特点:抽象、封装、继承和多态性。要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特征——继承性和多态性。在本章中主要介绍有关继承的知识,在第12章中将

2、介绍多态性。面向对象技术强调软件的可重用性(softwarereusability)。C++语言提供了类的继承机制,解决了软件重用问题。在C++中可重用性是通过继承(inheritance)这一机制来实现的。继承是C++的一个重要组成部分。一个类中包含了若干数据成员和成员函数。在不同的类中,数据成员和成员函数是不相同的。但有时两个类的内容基本相同或有一部分相同。利用原来声明的类Student作为基础,再加上新的内容即可,以减少重复的工作量。C++提供的继承机制就是为了解决这个问题。在第8章已举了马的例子来说明继承的概念。见图11.1示

3、意。11.1继承与派生的概念在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类(例如“马”)称为“基类(baseclass)”或“父类(fatherclass)”。新建立的类(例如“公马”)称为“派生类(derivedclass)”或“子类(sonclass)”。见图11.2示意。图11.1图11.2一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。类的继承是用已有的类来建立专用类

4、的编程技术。派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整。一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的。以上介绍的是最简单的情况:一个派生类只从一个基类派生,这称为单继承(singleinheritance),这种继承关系所形成的层次是一个树形结构,可以用图11.3表示。图11.3请注意图中箭头的方向,在本书中约定,箭头表示继承的方向,从派生类指向基类。一个派生类不仅可以从一个基类派生,也可以从多个基类派生。一个派生类有两个或多个基类的称为多重继承

5、(multipleinheritance),这种继承关系所形成的结构如图11.4所示。图11.4关于基类和派生类的关系,可以表述为:派生类是基类的具体化,而基类则是派生类的抽象。图11.5假设已经声明了一个基类Student,在此基础上通过单继承建立一个派生类Student1:classStudent1:publicStudent//声明基类是Student{public:voiddisplay_1()//新增加的成员函数{cout<<″age:″<

6、ivate:intage;//新增加的数据成员stringaddr;//新增加的数据成员};11.2派生类的声明方式基类名前面有public的称为“公用继承(publicinheritance)”。声明派生类的一般形式为class派生类名:[继承方式]基类名{派生类新增加的成员};继承方式包括:public(公用的),private(私有的)和protected(受保护的),此项是可选的,如果不写此项,则默认为private(私有的)。派生类中的成员包括从基类继承过来的成员和自己增加的成员两大部分。在基类中包括数据成员和成员函数(或称

7、数据与方法)两部分,派生类分为两大部分:一部分是从基类继承来的成员,另一部分是在声明派生类时增加的部分。每一部分均分别包括数据成员和成员函数。11.3派生类的构成图11.6实际上,并不是把基类的成员和派生类自己增加的成员简单地加在一起就成为派生类。构造一个派生类包括以下3部分工作:(1)从基类接收成员。派生类把基类全部的成员(不包括构造函数和析构函数)接收过来,也就是说是没有选择的,不能选择接收其中一部分成员,而舍弃另一部分成员。要求我们根据派生类的需要慎重选择基类,使冗余量最小。事实上,有些类是专门作为基类而设计的,在设计时充分考虑

8、到派生类的要求。(2)调整从基类接收的成员。接收基类成员是程序人员不能选择的,但是程序人员可以对这些成员作某些调整。(3)在声明派生类时增加的成员。这部分内容是很重要的,它体现了派生类对基类功能的扩展。要根据需要仔细考虑

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

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

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