电子产业一站式赋能平台

PCB联盟网

搜索
查看: 140|回复: 0
收起左侧

嵌入式编程面向对象的类之间的关系

[复制链接]

418

主题

418

帖子

4293

积分

四级会员

Rank: 4

积分
4293
发表于 2024-9-19 11:45:00 | 显示全部楼层 |阅读模式
关注+星标公众,不错过精彩内容来源 | 嵌入式情报局
先问下大家:你觉得嵌入式需要面向对象编程吗?
嵌入式系统是否需要面向对象编程(OOP)并不是一个绝对的问题,因为它取决于具体的应用场景、系统要求、开发团队的偏好以及所使用的编程语言和工具等因素。
面向对象编程是一种编程范式,它通过将数据(属性)和操作数据的方法(行为)封装成一个独立的对象,来提高软件的可维护性、可扩展性和可重用性
下面就来分享一下面向对象类之间主要的几种关系。1、类之间的关系   类在面向对象程序设计中是一个非常重要的概念,是一系列具有相同属性和方法的对象抽象,那么弄明白类之间的主要关系对于面向对象程序设计建模起到了指导意义。
类之间关系主要分为如下几种:

wo4irrgzkix64027730843.png

wo4irrgzkix64027730843.png

下面对类的这几种关系进行详细描述:
2、实现关系   类之间的实现关系主要是用于描述接口与类或者组件之间的关系,该接口是操作和方法的集合,提供给类使用。
这样不同的类通过统一的接口以自己的方式来进行实现。

45dvazqgc0l64027730943.png

45dvazqgc0l64027730943.png

在C++语言中体现实现关系主要通过virtual虚函数来表达,而接口是通过纯虚函数来表达。
3、泛化关系  泛化其实也叫做继承关系,在学习C++编程语言中应该是对其非常了解了。

glk5ydrfg1164027731043.png

glk5ydrfg1164027731043.png


比如子类继承父类的相关属性和方法。
4、依赖关系  依赖关系更多的一种使用关系,比如某人要去上班,那么他需要依赖于一种交通工具,可以是公交车、可以是同事的车等等。
在程序中通常一个类是另外一个类的参数或者返回值等等。

35clqznf1rg64027731143.png

35clqznf1rg64027731143.png

5、关联关系  关联算是复杂一点的关系形式,主要有一般关联、聚合和组合。关联关系的两个类更多的是处于一种平等的位置,而非从属关系。
通常在C++中一个类作为另外一个类的成员变量,这种叫单向关联,如果我中有你,你中有我,则是一种双向关联等等。

ayuuv32ysif64027731243.png

ayuuv32ysif64027731243.png


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

0gu4uxpj50o64027731344.png

0gu4uxpj50o64027731344.png

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

arlrlm5kcmm64027731444.png

arlrlm5kcmm64027731444.png

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

nuhw5okd0wo64027731544.jpg

nuhw5okd0wo64027731544.jpg

FreeRTOS编码标准及规范

qoajsippme264027731644.jpg

qoajsippme264027731644.jpg

63岁还能干嵌入式吗?

ytv3ukguoor64027731744.jpg

ytv3ukguoor64027731744.jpg

嵌入式代码常见的容错设计

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表