C++基础教程面向对象(学习笔记(43))

继承简介

在上一章中,我们讨论了对象组合,其中复杂类是从更简单的类和类型构造的。对象组合非常适合构建与其部件具有“has-a”关系的新对象。但是,对象组合只是C ++允许您构造复杂类的两种主要方式之一。第二种方式是通过继承,它模拟两个对象之间的“is-a”关系。

与通过组合和连接其他对象来创建新对象的对象组合不同,继承涉及通过直接获取其他对象的属性和行为然后扩展或特化它们来创建新对象。就像对象组合一样,继承在现实生活中无处不在。当你被怀孕时,你继承了你父母的基因,并从他们两个中获得了身体属性 - 但是你在自己身上添加了自己的个性。技术产品(计算机,手机等)继承了其前辈的功能(通常用于向后兼容)。例如,英特尔奔腾处理器继承了英特尔486处理器定义的许多功能,后者本身继承了早期处理器的功能。C ++继承了C语言的许多特性,C语言所基于的语言,

考虑苹果和香蕉。虽然苹果和香蕉是不同的水果,但两者的共同点都是水果。而且因为苹果和香蕉都是水果,简单的逻辑告诉我们,任何与水果相关的属性都适用于苹果和香蕉。例如,所有水果都有名称,颜色和大小。因此,苹果和香蕉也有名称,颜色和大小。我们可以说苹果和香蕉继承(获得)这些水果的所有特性,因为它们是水果。我们也知道果实经过成熟过程,可以通过它来食用。因为苹果和香蕉都是水果,我们也知道苹果和香蕉会继承成熟的行为。

放入图表中,苹果,香蕉和水果之间的关系可能如下所示:
在这里插入图片描述
此图定义了层次结构。

层次结构

层次结构是显示各种对象如何相关的图表。大多数等级要么显示随着时间的推移(386 - > 486 - >奔腾),要么以从一般到特定(水果 - >苹果 - >红色美味)的方式对事物进行分类。排序都会定义一个等级(从一般到特定)。

这是层次结构的另一个例子:正方形是一个矩形,它是一个四边形,是一个形状。直角三角形是三角形,也是一个形状。放入层次结构图,看起来像这样:
在这里插入图片描述
此图从一般(顶部)到特定(底部),层次结构中的每个项目都继承了其父项目的属性和行为。

展望未来

在本章中,我们将探讨继承如何在C ++中工作的基础知识。

下一章,我们将探讨继承如何通过虚函数实现多态(面向对象编程的大流行语之一)。

随着我们的进步,我们还将讨论继承的主要优点,以及一些缺点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值