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

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




审核编辑:刘清

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

    关注

    10

    文章

    1938

    浏览量

    34600
  • C++语言
    +关注

    关注

    0

    文章

    147

    浏览量

    6971

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

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

收藏 人收藏

    评论

    相关推荐

    第5章 MATLAB程序设计.ppt

    第5章 MATLAB程序设计
    发表于 10-24 16:40 0次下载

    java子类可以继承父的什么

    Java是一种面向对象的编程语言,它支持继承的概念。继承是面向对象编程的三大特性之一,它允许一个(称为子类或派生
    的头像 发表于 08-20 11:02 925次阅读

    最简单的C程序设计

    电子发烧友网站提供《最简单的C程序设计.pptx》资料免费下载
    发表于 05-28 16:41 9次下载

    算法-程序设计的灵魂

    电子发烧友网站提供《算法-程序设计的灵魂.pptx》资料免费下载
    发表于 05-28 16:39 3次下载

    程序设计基础教程

    电子发烧友网站提供《程序设计基础教程.pptx》资料免费下载
    发表于 05-28 16:37 1次下载

    三种Mock测试方案的应用与实践总结

    面向对象程序设计,模拟对象(英语:mock object,也译作模仿
    的头像 发表于 04-28 17:50 1425次阅读
    三种Mock测试方案的应用与实践总结

    鸿蒙语言TypeScript学习第16天:【

    TypeScript 支持面向对象的所有特性,比如 、接口等。
    的头像 发表于 04-15 09:29 967次阅读
    鸿蒙语言TypeScript学习第16天:【<b class='flag-5'>类</b>】

    java实现多线程的几种方式

    Java实现多线程的几种方式 多线程是指程序包含了两个或以上的线程,每个线程都可以并行执行不同的任务或操作。Java的多线程可以提高程序
    的头像 发表于 03-14 16:55 579次阅读

    vb运行时错误429不能创建对象

    系统已经安装了对象所依赖的组件或库。如果缺少这些组件或库,就会导致不能创建对象的错误。解决这个问题的方法是安装所需的组件或库。 对象
    的头像 发表于 01-09 11:07 2162次阅读

    基于C/C++面向对象的方式封装socket通信流程简析

    掌握了基于 TCP 的套接字通信流程之后,为了方便使用,提高编码效率,可以对通信操作进行封装,本着有浅入深的原则,先基于 C 语言进行面向过程的函数封装,然后再基于 C++ 进行面向对象
    的头像 发表于 12-26 10:00 1748次阅读

    基于C/C++面向对象的方式封装socket通信

    掌握了基于 TCP 的套接字通信流程之后,为了方便使用,提高编码效率,可以对通信操作进行封装,本着有浅入深的原则,先基于 C 语言进行面向过程的函数封装,然后再基于 C++ 进行面向对象
    的头像 发表于 12-26 09:57 1285次阅读

    javascript规定了几种语言类型

    和移动应用程序。JavaScript的灵活性和易用性使其成为开发人员最喜爱的编程语言之一。本文将详细介绍JavaScript的几种语言类型。 首先,JavaScript是一种基于原型的面向对象
    的头像 发表于 12-03 11:37 760次阅读

    java源程序是由定义组成的吗

    Java源程序是由定义组成的。Java是用来定义对象的一种结构化方式。一个
    的头像 发表于 11-28 16:36 621次阅读

    一个java源程序中允许有多个公共

    Java是一种面向对象的编程语言,它的特点之一是允许一个源程序包含多个公共。这是因为Java的
    的头像 发表于 11-28 16:32 1021次阅读

    this可以出现在方法

    是的, this 关键字可以出现在方法Java, this 是一个引用,用于引用当前对象的实例。它可以
    的头像 发表于 11-28 16:24 1328次阅读