第5章 继承与派生

第5章 继承与派生

ID:22463772

大小:250.00 KB

页数:50页

时间:2018-10-29

第5章 继承与派生_第1页
第5章 继承与派生_第2页
第5章 继承与派生_第3页
第5章 继承与派生_第4页
第5章 继承与派生_第5页
资源描述:

《第5章 继承与派生》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第5章继承与派生面向对象程序设计有4个特点:抽象、封装、继承和多态性。前面3章学习了对类和对象的最基本操作,对抽象性和封装性有了足够的认识。下面我们要来了解继承性和多态性。继承是C++语言的一种重要机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有类中没有的成分来建立新类。有了继承,过去的代码就可以不被丢弃,只要稍加修改就可重用。类的继承使简单的代码慢慢发展到丰富的高级代码,程序会越来越完善,功能越

2、来越强大。没有继承就等于没有面向对象的程序设计,继承性是面向对象程序设计中最重要的特性。当然继承的过程面临许多问题,下面我们来一一解答。5.1继承与派生的概念C++中可重用性是通过继承来实现的。因此,继承是C++的一个重要组成部分。前面介绍了类,一个类中包含数据成员和成员函数。不同的类中,数据成员和成员函数是不相同的。但有时两个类的内容基本相同或一部分相同。这样自然就想到,能否利用原来声明的类作为基础以减少重复工作量。C++的继承机制就可以解决这个问题。在C++中,所谓”继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为基类或父类。新

3、建立的类称为派生类或子类。其实在现实生活中就存在继承关系。如下所示。上图是交通工具的类层次,最顶部的交通工具为基类。这个基类会有飞机类、汽车类、火车类等等,图中只画出了汽车类。汽车类以交通工具类为父类,相对交通工具类来说汽车类是子类。汽车类有三个子类,小汽车类、卡车类、旅行车类,它们以汽车类作为父类,此时交通工具类是它们的祖先类,简称祖类。图中展示了四层结构,从上到下它们是派生的关系,从下到上是继承的关系。面向对象程序设计可以让你声明一个新类作为另一个类的派生。派生类(也称子类)继承它父类的属性和操作。子类也声明了新的属性和新的操作,剔除了那些不适

4、合于其用途的继承下来的操作。这样,继承可让你重用父类的代码,专注于为子类编写新代码。那些父类已经存在,在新的应用中,你无须修改父类。所要做的就是派生子类,在子类中做一些增加与修改。这种机制,使重用成为可能。我们来看P150中类Student和类Student1的定义----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方,这两个类中有很多相同的部分,只是Student1中新增加了二个数据

5、成员,成员函数display也有了一些变化。这样我们可以在Student的基础上加上新的内容来定义Student1,以减少重复工作量。以上介绍的是最简单的情况:一个派生类只从一个基类派生,这称为单继承,如果一个派生类有两个或多个基类的称为多重继承。如下图所示为最简单的单继承结构图AB下二个图为最简单的多重继承的结构图ABCABCD5.2派生类的声明方式声明派生类的一般形式为:class派生类名:[继承方式]基类名//继承方式包括public、private(默认)、protected{派生类新增加的成员}派生类对象包括两个部分,一个为基类部分,另一

6、个是派生类部分。派生类部分总是依附于基类的,派生类对象中总是含有基类的成员。显然,派生类对象比基类对象大,它保存了更多的数据,提供了更多的操作。//定义书中提供的Student1,Student作为基类。#include#includeusingnamespacestd;classStudent{public:Student(){cin>>num>>name>>sex;}voiddisplay(){cout<<"num:"<

7、--专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方cout<<"sex:"<>age>>addr;}voiddisplay_1()//新增加的成员

8、函数{cout<<"age:"<

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

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

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