All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
实例学习PHP如何实现在线发邮件_php资料_编程技术
XML入门教程-XML 浏览器支持_[XML教程]
PHP技巧:用PHP导出MySQL数据库内容为.sql文件_[PHP教程]
解决错误:sql_variant,is,incompatible,with,xml,(ASP.NET_[Asp.Net教程]
下一代ADO.NET:ADO.NET,Entity,Framework_[Asp.Net教程]
学习笔记,ASP.NET,5种页面转向法_.net资料_编程技术
在AJAX程序中实现互斥揭秘_[AJAX教程]
Delphi append过程在文件的最后追加文本内容
技巧汇总:C#编程的七个小技巧_.net资料_编程技术
LINQ体验(16)——LINQ,to,SQL语句之DataContext_[Asp.Net教程]
Reading number is top 10 pictures
这才叫绝色美女1
Forced sex girl living abroad2
可爱的小动物
Park waits to have her picture taken exposed
2013中国四川省高考作文
2012 national geographic daily picture4
漂亮脸蛋魔鬼身材2
Absolutely shocked. National geographic 50 animal photographys1
水晶头骨造型的酒瓶
I also want to live a June 1 children's day, dad
Download software ranking
传奇私服架设教程-chm
Boxer's Top ten classic battle1
Professional killers2 for Android
Tram sex maniac 2 (H) rar bag18
ASP.NET.2.0.XML.高级编程(第3版)
传奇私服架设教程
White deer villiage
The king of fighters 97(Mobile phone games-apk)
Unix video tutorial7
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
qq published in(发表于) 2014/7/9 22:36:34 Edit(编辑)
C++继承与派生

C++继承与派生

C/C++继承与派生

继承与派生

1.继承与派生的含义

继承是 OOP 的主要特性之一。它是指在对软件系统涉及的所有对象进行分类和抽象的基础上,形成各种“家族树”,然后从上到下分层对家族树节点进行刻画,即进行类定义和类实现。由于子类具有父类的所有属性和行为,因此在定义子类时无需从头做起,只需要从父类那“拿来”已经定义和实现好的属性和方法(即成员变量和成员函数),并在此基础上增加其自身特有的属性和方法。显然,继承可以大大简化新类的定义与实现,甚至可以使用已经定义和实现好的类作为父类,通过继承来定义和实现自己的类,显然,继承很好地实现了数据结构和算法的重用。从父类的角度讲是父类派生子类,从子类的角度讲是子类继承父类的属性与方法。在OOA 与OOM 阶段常用分类、抽象和继承术语,OOP 阶段常用派生术语。

2.继承与派生的C++实现样板分析

【源程序 2-2】中关于继承的分析:

(1) 第1~181 行定义和实现了3 个类:Location→Point→Circle,即Location 派生出Point类,Point 类又派生出Circle 类,也可以说Circle 类是Point 类的子类,Point 类是Circle 类的父类,Point 类是Location 的子类,Location 类是Point 类的父类。

(2) 第7~8 行定义了基类Location 的成员变量x 和y,用来刻画平面上一个位置的坐标,第10 行定义了构造函数Location,第11~14 行定义了查看和改变成员变量x、y 值的接口函数,第15~16 行声明了两个屏幕显示和隐藏的行为刻画函数框架。第61~77 行是这些成员函数的实现代码。

(3) 第21 行的类Point 是由Location 类采用public 方式派生的,在继承Location 类的所有成员变量和成员函数的基础上,第23~28 行新增加了用来进一步刻画平面上一个点的可见性、点的类型和实例个数的3 个成员变量Visible、PType 和NumOfInstances,新增加了点的移动行为刻画成员函数MoveTo、获取点实例可见性的接口函数GetVisible 和获取实例个数的静态接口函数getNumOfInstances 等。

(4) 第47 行的类Circle 是由Point 类采用public 方式派生的,在继承Point 类的所有成员变量和成员函数的基础上,第50 行新增加了用来进一步刻画平面上一个圆的大小的成员变量Radius,新增加了圆的缩放行为刻画成员函数Expand、获取圆半径的接口函数GetRadius 等。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.