- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本讲讨论基类和派生类的基本概念。
通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。
在C 语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。
派生类的定义格式
单继承的定义格式如下:
class 派生类名:继承方式基类名
{
派生类新定义成员
};
其中,派生类名是新定义的一个类的名字,它是从基类名中派生的,并且按指定的继承方式派生的。继承方式常使用如下三种关键字给予表示:
public 表示公有基类;
private 表示私有基类;
protected 表示保护基类;
多继承的定义格式如下:
class 派生类名:继承方式1基类名1,继承方式2基类名2,…
{
派生类新定义成员
};
可见,多继承与单继承的区别从定义格式上看,主要是多继承的基类多于一个。
派生类的三种继承方式
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
1. 公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。
2. 私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
3. 保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
下面列出三种不同的继承方式的基类特性和派生类特性。
不同继承方式的基类和派生类特性
继承方式 基类特性 派生类特性
公有继承 public public
protected
private protected
不可访问
私有继承 public private
protected
private private
不可访问
保护继承 public protected
protected
private protected
不可访问
为了进一步理解三种不同的继承方式在其成员的可见性方面的区别,下面从三种不同角度进行讨论。
对于公有继承方式:
(1) 基类成员对其对象的可见性:
公有成员可见,其他不可见。这里保护成员同于私有成员。
(2) 基类成员对派生类的可见性:
公有成员和保护成员可见,而私有成员不可见。这里保护成员同于公有成员。
(3) 基类成员对派生类对象的可见性:
公有成员可见,其他成员不可见。
所以,在公有继承时,派生类的对象可以访问基类中的公有成员;派生类的成员函数可以访问基类中的公有成员和保护成员。这里,一定要区分清楚派生类的对象和派生类中的成员函数对基类的访问是不同的。
对于私有继承方式:
(1) 基类成员对其对象的可见性:
公有成员可见,其他成员不可见。
(2) 基类成员对派生类的可见性:
公有成员和保护成员是可见的,而私有成员是不可见的。
(3) 基类成员对派生类对象的可见性:
所有成员都是不可见的。
所以,在私有继承时,基类的成员只能由直接派生类访问,而无法再往下继承。
对于保护继承方式:
这种继承方式与私有继承方式的情况相同。两者的区别仅在于对派生类的成员而言,对基类成员有不同的可见性。
上述所说的可见性也就是可访问性。关于可访问性还有另的一种说法。这种规则中,称派生类的对象对基类访问为水平访问,称派生类的派生类对基类的访问为垂直访问。
一般规则如下:
公有继承时,水平访问和垂直访问对基类中的公有成员不受限制;
私有继承时,水平访问和垂直访问对基类中的公有成员也不能访问;
保护继承时,对于垂直访问同于公有继承,对于水平访问同于私有继承。
对于基类中的私有成员,只能被基类中的成员函数和友元函数所访问,不能被其他的函数访问。
基类与派生类的关系
任何一个类都可以派生出一个新类,派生类也可以再派生出新类,因此,基类和派生类是相对而言的。
基类与派生类之间的关系可以有如下几种描述:
1. 派生类是基类的具体化
类的层次通常反映了客观世界中某种真实的模型。在这种情况下,不难看出:基类是对若干个派生类的抽象,而派生类是基类的具体化。基类抽取了它的派生类的公共特征,而
您可能关注的文档
- 建筑装饰评优.doc
- 胶辊基础知识.docx
- 节目串词及结束语.doc
- 解决场地、器材短缺问题.doc
- 京剧《洪羊洞》叹杨家投宋主心血用尽伴奏曲谱.doc
- 京剧和西方音乐剧对比.doc
- 京剧李清照唱词.doc
- 京剧重要唱法.docx
- 经典黄梅戏《夜思鸣凤》歌词.doc
- 经典杰克韦尔奇读后感.docx
- 专题04 天气与气候(期末真题汇编,广东专用)(解析版).docx
- 专题04 中国的经济发展(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(原卷版).docx
- 专题05 建设美丽中国(专项训练)(解析版).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(解析版).docx
- 2024年下半年教师资格考试中学《教育知识与能力》真题(含答案和解析).docx
- 专题05 居民与文化 发展与合作(百题精选)(期末真题汇编)(原卷版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(解析版).docx
- 专题05 居民与文化 发展与合作(期末真题汇编,广东专用)(原卷版).docx
- 统编版七年级语文上册课件《雨的四季》.pptx
原创力文档


文档评论(0)