面向对象类之间主要的几种关系
Posted strongerHuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象类之间主要的几种关系相关的知识,希望对你有一定的参考价值。
关注+星标公众号,不错过精彩内容
转自 | 嵌入式情报局
嵌入式开发虽然平时C语言用的比较多,但面向对象的思维应该是每一位嵌入式软件工程师必备的知识。
之前给大家分享过用C语言实现面向对象的内容,也分享过单片机用C++点灯的文章。
今天就再给大家拓展一下面向对象类之间的几种关系。
1、类之间的关系
类在面向对象程序设计中是一个非常重要的概念,是一系列具有相同属性和方法的对象抽象,那么弄明白类之间的主要关系对于面向对象程序设计建模起到了指导意义。
类之间关系主要分为如下几种:
下面对类的这几种关系进行详细描述:
2、实现关系
类之间的实现关系主要是用于描述接口与类或者组件之间的关系,该接口是操作和方法的集合,提供给类使用。
这样不同的类通过统一的接口以自己的方式来进行实现。
在C++语言中体现实现关系主要通过virtual虚函数来表达,而接口是通过纯虚函数来表达。
3、泛化关系
泛化其实也叫做继承关系,在学习C++编程语言中应该是对其非常了解了。
比如子类继承父类的相关属性和方法。
4、依赖关系
依赖关系更多的一种使用关系,比如某人要去上班,那么他需要依赖于一种交通工具,可以是公交车、可以是同事的车等等。
在程序中通常一个类是另外一个类的参数或者返回值等等。
5、关联关系
关联算是复杂一点的关系形式,主要有一般关联、聚合和组合。关联关系的两个类更多的是处于一种平等的位置,而非从属关系。
通常在C++中一个类作为另外一个类的成员变量,这种叫单向关联,如果我中有你,你中有我,则是一种双向关联等等。
聚合关系是一种整体与部分的关系,但是整体与部分可以分开独立存在,部分可以添加到整体,也可从整体中移出。
而组合关系也是一种整体与部分的关系,但其关联性更强,两者不可分开,且具有统一的生命周期,同生死共存亡。
举个例子,电脑的可以使用不同品牌的内存条,那么其可以看成聚合的关系,而一个人与嘴巴的关系,这种关联性更强的属于组合关系,属于生命一体。
------------ END ------------
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
点击“阅读原文”查看更多分享。
以上是关于面向对象类之间主要的几种关系的主要内容,如果未能解决你的问题,请参考以下文章