0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

类在面向对象程序设计中的几种关系

strongerHuang 来源:嵌入式情报局 作者:情报小哥 2022-09-16 09:07 次阅读

1、类之间的关系

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

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

5bb0500a-3557-11ed-ba43-dac502259ad0.png

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

2、实现关系

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

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

5bee5ad0-3557-11ed-ba43-dac502259ad0.png

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

3、泛化关系

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

5c33479e-3557-11ed-ba43-dac502259ad0.png

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

4、依赖关系

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

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

5c8283ae-3557-11ed-ba43-dac502259ad0.png

5、关联关系

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

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

5cb91fa4-3557-11ed-ba43-dac502259ad0.png

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

5cda2de8-3557-11ed-ba43-dac502259ad0.png

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

5d009dde-3557-11ed-ba43-dac502259ad0.png

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




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33079
  • C++语言
    +关注

    关注

    0

    文章

    146

    浏览量

    6878

原文标题:面向对象类之间的几种关系

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    非常实用,推荐一种面向对象思维的单片机程序框架

    非常实用,推荐一种面向对象思维的单片机程序框架
    的头像 发表于 10-24 18:03 282次阅读
    非常实用,推荐一种<b class='flag-5'>面向</b><b class='flag-5'>对象</b>思维的单片机<b class='flag-5'>程序</b>框架

    C++程序设计精简版

    章 指针第 7 章 自定义数据类型 第 3 篇 基于对象程序设计第 8 章 对象第 9 章 关于
    发表于 10-09 07:26

    Python的面向对象编程详解

    一般编程可分为面向过程编程,和面向对象编程。Python的面向对象编程,与Java的面向
    发表于 09-04 16:35 268次阅读
    Python的<b class='flag-5'>面向</b><b class='flag-5'>对象</b>编程详解

    C语言程序设计(ppt版)

    C语言程序设计(ppt版)
    发表于 08-07 15:33 12次下载

    什么是面向对象编程(OOP)?面向对象程序设计

    在编程领域,面向对象编程 (OOP) 是一种强大的范例,使开发人员能够构建复杂且可扩展的应用程序
    的头像 发表于 07-19 14:57 787次阅读

    派生函数的重定义(1)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 22:11:26

    C++的定义(3)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:20:21

    C++的定义(2)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:19:14

    C++的定义(1)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:18:10

    C++对象的定义和访问(3)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:17:02

    C++对象的定义和访问(2)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:15:39

    C++对象的定义和访问(1)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:14:28

    2对象成员(2)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:01:22

    2对象成员(1)#程序设计

    程序设计
    未来加油dz
    发布于 :2023年07月13日 21:00:14

    多态性实现原理及其在面向对象编程中的应用

    面向对象的编程中,多态性是一个非常重要的概念。
    的头像 发表于 06-08 14:19 405次阅读