第4章 类的继承和派生

第4章 类的继承和派生

ID:22449129

大小:423.50 KB

页数:57页

时间:2018-10-20

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

《第4章 类的继承和派生》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章继承和派生4.1继承和派生的概念面向对象程序设计有4个主要特点:抽象、封装、继承和多态性。在本章中主要介绍有关继承的知识,在下一章中将介绍多态性。C++语言提供了类的继承机制,解决了软件重用问题。4.1.1继承与派生的概念一个类中包含了若干数据成员和成员函数。在不同的类中,数据成员和成员函数是不相同的。但有时两个类的内容基本相同或有一部分相同。类的继承:一个新类从已存在的类那里获得该类已有的特性叫作类的继承。已存在的类叫作父类,也叫作基类。产生的新类叫作子类或派生类。类的派生:从一个已有的类那里产生一个新类的过程叫类的派生。

2、已存在的类叫作父类,也叫作基类。产生的新类叫作派生类或子类。类的继承和派生是同一概念,前者是从子类的角度来说,后者是从父类的角度来说的。我们通常说子类继承了父类。父类派生了子类。描述各级学生的类的继承关系如下图:基类与派生类的关系:派生类是基类的具体化,基类则是派生类的抽象一个派生类的对象也是一个基类的对象。应该具有基类   的一切属性和方法。派生类除了具有基类的一切属性和方法外,还可以有自   己所特有的属性和方法。4.1.2派生类和基类的关系4.1.3单继承与多继承单继承:一个派生类只从一个基类继承。多重继承:一个派生类从两个

3、或多个基类继承。4.2派生类的声明方式声明派生类的一般形式为class派生类名:[继承方式]基类名{派生类新增加的成员};继承方式包括:public(公有的),private(私有的)和protected(受保护的),此项是可选的,如果不写此项,则默认为private(私有的)。如下程序演示了类Rectangle(四边形)由类Point继承而来。voidSetPoint(intx,inty){this->x=x;this->y=y;}voidMovePoint(intdx,intdy){x+=dx;y+=dy;}voidShowP

4、oint(){cout<<'('<#includeusingnamespacestd;classPoint{private:intx,y;public:intGetX(){returnx;}intGetY(){returny;}voidSetRect(intx,inty,intw,inth){SetPoint(x,y);width=w;height=h;}voidShowRect(){cout<<"左上角坐标为:";ShowP

5、oint();cout<#include"Point.h"usingnamespacestd;classRectangle:publicPoint{private:intwidth;intheight;public:intGetWidth(){returnwidth;}intGetHight(){returnheight;}//main.cpp#inc

6、lude"Rectangle.h"voidmain(){Rectangler;r.SetRect(0,0,10,20);r.ShowRect();r.MovePoint(10,10);r.ShowRect();}4.3派生类的构成派生类中的成员包括从基类继承过来的成员和自己增加的成员两大部分。在基类中包括数据成员和成员函数(或称数据与方法)两部分,派生类分为两大部分:一部分是从基类继承来的成员,另一部分是在声明派生类时增加的部分。每一部分均分别包括数据成员和成员函数。如果在派生类中定义了和基类中同名函数(函数参数个数和类型可以相同

7、也可以不相同),则派生类中的函数会隐藏基类的同名函数。在派生类中不能直接访问基类中的同名函数。(注意与重载的区别。在同一个类中的同名不同参函数为重载函数)如程序PointRect1所示:4.4继承方式派生类的继承方式有三种:public,private,protected。不同的继承方式决定了基类成员在派生类中的访问属性。继承方式基类中的访问属性派生类中的访问属性publicpublicpublicprotectedprotectedprivate不可访问privatepublicprivateprotectedprivatepr

8、ivate不可访问protectedpublicprotectedprotectedprotectedprivate不可访问4.4.1类的保护成员前面介绍过类的成员(数据成员和成员函数)的访问属性有私有的(private)的和公有的(public的

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

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

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