《面向对象程序设计》讲义11

《面向对象程序设计》讲义11

ID:24728085

大小:750.50 KB

页数:58页

时间:2018-11-15

《面向对象程序设计》讲义11_第1页
《面向对象程序设计》讲义11_第2页
《面向对象程序设计》讲义11_第3页
《面向对象程序设计》讲义11_第4页
《面向对象程序设计》讲义11_第5页
资源描述:

《《面向对象程序设计》讲义11》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《面向对象程序设计》讲义第11章11.1派生的概念继承是对象类间的一种相关关系,是派生关系,并具有以下性质:(1)类间的共享特性;(2)类间的细微区别;(3)类间的层次关系。第11章继承与类的派生11.1.1为什么使用继承1.继承可以重用先前项目的代码,如果原来的代码不能完全满足要求,还可以做少量的修改,满足不断变化的具体应用要求,从而提高程序设计的灵活性,避免不必要的重复设计。2.若某个项目使用了几个非常相似或稍有不同的类,就可以通过派生类的继承性达到函数和数据继承的目的。11.1.2派生类的定义1.派生新类的特性:(1)新类可以在基类所提供的基础上包含新的成员;(

2、2)在新的类中可隐藏基类的任何函数成员;(3)可为新的类重新定义成员函数。2.派生类的定义classx{//…};classy:x{//…};例如:有一个整数链表的类,如下所示:structnode{//每一结点结构intval;node*next;}classList{node*elems;//链表头指针public:List();~List();boolinsert(int);//在表前插入一个结点booldeletes(int);//在表中删除一个结点boolcontains(int);//在表中查找一个结点};由整型链表类派生出整型集合类,定义如下:class

3、set:List{intcard;//表示集合中的元素个数public:boolinsert(int);//…};11.1.3派生类对基类成员的访问权基类的私有成员派生类及派生类的使用者都无权访问。classx{intx,y;public:voidget_ij();//…};classy:x{intk;public:voidmake_k();//…};voidy::make(){k=i*j;//非法}1.私有派生classx{inta;public:intget(){returna;}//…};classy:x{intb;//..public:voidmake(){b

4、=get()+10;}//…};voidf(){xx1;yy1;y1.make();y1.get();//错误}2.公有派生classy:publicx{//…};基类中的所有公有成员在派生类中都是公有的。派生类对基类成员的访问权限:例1#includeclassbase{//定义一个基类intx1,x2;public:voidassign(intp1,intp2)//为私有数据赋值{x1=p1;x2=p2;}intinc1(){return++x1;}//返回增1后的x1值intinc2(){return++x2;}//返回增1后的x2值vo

5、iddisplay()//输出x1,x2之值{cout<<“basex1=”<

6、n++x3;}//求x3增值voiddisplay()//输出x3之值{cout<<“derive1x3=”<

7、:display();//先调用基类的display()cout<<“derive2x4=”<

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

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

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