关注+星标公众号,不错过精彩内容来源 | 嵌入式情报局
先问下大家:你觉得嵌入式需要面向对象编程吗?
嵌入式系统是否需要面向对象编程(OOP)并不是一个绝对的问题,因为它取决于具体的应用场景、系统要求、开发团队的偏好以及所使用的编程语言和工具等因素。
面向对象编程是一种编程范式,它通过将数据(属性)和操作数据的方法(行为)封装成一个独立的对象,来提高软件的可维护性、可扩展性和可重用性。
下面就来分享一下面向对象类之间主要的几种关系。1、类之间的关系 类在面向对象程序设计中是一个非常重要的概念,是一系列具有相同属性和方法的对象抽象,那么弄明白类之间的主要关系对于面向对象程序设计建模起到了指导意义。
类之间关系主要分为如下几种:
gcypzx13wks64031647054.png
下面对类的这几种关系进行详细描述:
2、实现关系 类之间的实现关系主要是用于描述接口与类或者组件之间的关系,该接口是操作和方法的集合,提供给类使用。
这样不同的类通过统一的接口以自己的方式来进行实现。
ec5he45bj3a64031647154.png
在C++语言中体现实现关系主要通过virtual虚函数来表达,而接口是通过纯虚函数来表达。
3、泛化关系 泛化其实也叫做继承关系,在学习C++编程语言中应该是对其非常了解了。
3bwwucwscfy64031647254.png
比如子类继承父类的相关属性和方法。
4、依赖关系 依赖关系更多的一种使用关系,比如某人要去上班,那么他需要依赖于一种交通工具,可以是公交车、可以是同事的车等等。
在程序中通常一个类是另外一个类的参数或者返回值等等。
53zybdymhha64031647355.png
5、关联关系 关联算是复杂一点的关系形式,主要有一般关联、聚合和组合。关联关系的两个类更多的是处于一种平等的位置,而非从属关系。
通常在C++中一个类作为另外一个类的成员变量,这种叫单向关联,如果我中有你,你中有我,则是一种双向关联等等。
w5pjkke1mya64031647455.png
聚合关系是一种整体与部分的关系,但是整体与部分可以分开独立存在,部分可以添加到整体,也可从整体中移出。
4nei5qv4iyq64031647555.png
而组合关系也是一种整体与部分的关系,但其关联性更强,两者不可分开,且具有统一的生命周期,同生死共存亡。
tgyhfrmklnv64031647655.png
举个例子,电脑的可以使用不同品牌的内存条,那么其可以看成聚合的关系,而一个人与嘴巴的关系,这种关联性更强的属于组合关系,属于生命一体。
------------ END ------------
gsl3irnpgq264031647755.jpg
FreeRTOS编码标准及规范
soethyhauqk64031647855.jpg
63岁还能干嵌入式吗?
4kmcjesoznb64031647955.jpg
嵌入式代码常见的容错设计
|