面向对象类之间主要的几种关系

64 篇文章 98 订阅

已剪辑自: https://mp.weixin.qq.com/s/ClBuraVUIPhnWceI7m78Xg
嵌入式开发虽然平时C语言用的比较多,但面向对象的思维应该是每一位嵌入式软件工程师必备的知识。之前给大家分享过用C语言实现面向对象的内容,也分享过单片机用C++点灯的文章。今天就再给大家拓展一下面向对象类之间的几种关系。

1、类之间的关系

类在面向对象程序设计中是一个非常重要的概念,是一系列具有相同属性和方法的对象抽象,那么弄明白类之间的主要关系对于面向对象程序设计建模起到了指导意义。

类之间关系主要分为如下几种:

图片

下面对类的这几种关系进行详细描述:

2、实现关系

类之间的实现关系主要是用于描述接口与类或者组件之间的关系,该接口是操作和方法的集合,提供给类使用。

这样不同的类通过统一的接口以自己的方式来进行实现。

图片

在C++语言中体现实现关系主要通过virtual虚函数来表达,而接口是通过纯虚函数来表达。

3、泛化关系

泛化其实也叫做继承关系,在学习C++编程语言中应该是对其非常了解了。

图片

比如子类继承父类的相关属性和方法。

4、依赖关系

依赖关系更多的一种使用关系,比如某人要去上班,那么他需要依赖于一种交通工具,可以是公交车、可以是同事的车等等。

在程序中通常一个类是另外一个类的参数或者返回值等等。

图片

5、关联关系

关联算是复杂一点的关系形式,主要有一般关联、聚合和组合。关联关系的两个类更多的是处于一种平等的位置,而非从属关系。

通常在C++中一个类作为另外一个类的成员变量,这种叫单向关联,如果我中有你,你中有我,则是一种双向关联等等。

图片

聚合关系是一种整体与部分的关系,但是整体与部分可以分开独立存在,部分可以添加到整体,也可从整体中移出。

图片

而组合关系也是一种整体与部分的关系,但其关联性更强,两者不可分开,且具有统一的生命周期,同生死共存亡。

图片

举个例子,电脑的可以使用不同品牌的内存条,那么其可以看成聚合的关系,而一个人与嘴巴的关系,这种关联性更强的属于组合关系,属于生命一体。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值