UML中关联,依赖,聚集,组成的联系和区别

2023-05-16

在UML中,关联,依赖,聚集,组成的联系十分紧密,不容易区分,本文试图用通俗的语言来讲解这四种关系的区别。
关联,即是发生关系,一个类A关联类B,说明类A中的字段(或属性)中含有类B的实例链接(在C++中为指针),类B也可以关联类A,他们是对等的,没有主次之分。
依赖,类A依赖类B,说明类A中用到了类B,这个“用到”,比关联的程度更浅,比如,在局部变量(函数中的变量和函数参数)中用到了类B,也可能是类A用到了类B的静态函数。
聚集:聚集也是一种关联,但是对于关联来讲,关联的双方都是对等的,没有主次之分,在聚集中,则有主次之分,“主”的一方只能有一个。那计算机来说,“计算机”是一个对象,他就是“主”,而“硬盘”,“主板”,“显示器”等等则是“次”的一方,“硬盘”,“主板”,“显示器”聚集成“计算机”,他们只是聚集的关系,主板完蛋了,并不影响显示器,所以大家可以理解为聚集中的对象,即是一个整体,又各自独立。
组成:组成是一种特殊的聚集(那当然也是关联喽),拿桌子来说吧,桌子有桌面和桌腿组成,然桌面没有了或桌腿没有了,都不能称之为桌子,这个意思就是说,对于组成对象的个部分来讲,他们有一个有机的整体,不可分割的整体。桌子对象(主体对象)要负责桌面,桌腿(“次”对象,主次之分的“次”)的生命周期。拿C++语言来讲,桌子对象内部含有桌面对象和桌腿对象的对象实例,这可不是指针喽,但在“聚集”中是指针,这也就是聚集和组成的区别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UML中关联,依赖,聚集,组成的联系和区别 的相关文章

随机推荐

  • 微信小程序背景图虚化

    微信小程序背景图虚化 filter blur 10rpx
  • 判断两个IP是否属于同一子网

    题目描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据 子网掩码与IP地址结构相同 xff0c 是32位二进制数 xff0c 其中网络号部分全为 1 和主机号部分全为 0 利用子网掩码可以判断两台主机是否中同一子网中
  • 状态模式

    状态模式允许对象在内部状态改变时改变它的行为 xff0c 对象看起来好像修改了它的类 它将一群行为封装在状态对象中 xff0c context的行为随时可委托到那些状态对象中的一个 随着时间的流逝 xff0c 当前状态在状态对象中游走改变
  • openstack cinder 双ceph后端之间的卷迁移操作

    1 前置条件 已为cinder配置好双ceph后端 xff0c 配置过程见openstack cinder对接两个ceph后端配置 2 卷类型相同的卷迁移 页面上的卷迁移 xff0c 走的是migrate volume接口 入口在cinde
  • KEIL软件的Error: Flash Download failed - Could not load file ‘...axf‘解决思路

    在下载程序的时候出现Error Flash Download failed Could not load file 39 的错误 xff0c 我的原因是之前勾选了下面这里的软件组件 xff0c 全部取消后就可以了
  • C# WinForm系列-创建Windows项目

    本系列实例适合初学者 xff0c 老手请直接Pass吧 Visual Studio从2003版本到现在的2022版本 xff0c 我也一版一版的使用 xff0c 体验了微软这个IDE开发工具的强大 唉 xff0c 我想多说点或上网多找点资料
  • vscode远程无密码登录

    1 安装插件 xff1a remote development 2 免密码登陆 xff1a vscode远程开发及公钥配置 xff08 告别密码登录 xff09 星轨 CSDN博客 vscode 公钥 当你完成全部设置 xff0c 并以密钥
  • Jetson Nano B01 从零入门笔记系列(二)python环境构建-pycharm安装-pytorch安装

    Jetson Nano B01 从零入门笔记系列 xff08 二 xff09 python环境构建 pycharm安装 pytorch安装Bug与报错 1 前言 时隔N年我居然又回来搞这个了 xff0c 真是命运弄人 为了应付万恶甲方的BT
  • 树莓派只能网线连接无法连接WiFi的解决方法

    最近几天树莓派好端端地突然连不上WiFi xff0c 右上角WiFi图标也显示异常 xff0c 无法看到周围可连接WiFi列表 xff0c 但却能连上wpa supplicant conf中配置好的另一个WiFi xff0c 插网线也无效
  • js时间转化格式及UCC、HIBC条码解析

    就记录下 xff0c 条形码解析写的很糟糕 xff0c 好多地方可以封装函数的 xff0c 所以有点乱 xff0c 直接复制过去还能用的 xff0c UCC条码只能解析包装代码 xff0c 通过包装代码获取型号是调后台接口 xff0c 然后
  • 在ubuntu16.04下搭建samba,实现linux与windows之间的资源共享

    1 先在 ubuntu 下安装好 samba 安装 samba xff1a sudo apt get install samba 安装 smbclient xff1a sudo apt get install smbclient 2 在虚拟
  • TypeScript学习笔记(一)

    TS学习笔记 文章目录 TS学习笔记一 环境搭建二 基本类型1 类型声明2 基本类型 三 编译选项四 Webpack 43 TS xff08 一 xff09 基础配置1 配置依赖2 webpack config js3 tsconfig j
  • ROS学习笔记(四): publisher的编程实现

    四 publisher的编程实现 1 在工作区创建功能包 目的 xff1a 创建一个使小乌龟画圆的publisher 打开工作区 cd catkin ws src 创建工作包 xff0c 不要使用大写字母命名 xff0c 会编译不成功 ca
  • unity用按钮跳转场景代码

    首先创建场景scene 0 xff0c 在上面创建一个按钮 xff0c 保存scene 0 然后创建场景scene 1 xff0c 保存scene 1 然后分别运行其场景 xff0c 在运行的过程中 xff0c 点击 File gt Bui
  • Unity给游戏添加倒计时和分数

    总觉得敲代码可难可难 xff0c 昨天做了一天 xff0c 游戏雏形出来了 xff0c 涉及到逻辑一块却很棘手 xff0c 网上百度了 xff0c 版本太多 xff0c 实现的效果也不近人意 问室友 xff0c 分分钟就解决了 xff0c
  • 建立对象模型即使用UML画类图

    UML类图画法及其之间的几种关系 最近复习软件工程的考试 xff0c 大题需要画一下类图 xff0c 发现类图的画法及其之间的几种关系已经淡忘了很多 xff0c 上百度进行搜索 xff0c 发现了一篇学习笔记 xff0c 整理总结的不错哦
  • Maya里面的模型动画导入Unity使用

    听别人将东西要是不感兴趣还真是听不进去 xff0c 听老师讲课更是如此 xff0c 有时候还起到很好地催眠作用 最近一直在想模型原创的问题 xff0c 如何自己制动画导入Unity进行使用 xff0c 上百度上开始寻找方法 xff0c 有时
  • 对象模型,动态模型,功能模型

    第七周作业 用面向对象方法分析研究书中习题2第3题中描述的机票预订系统 xff0c 试建立它的对象模型 动态模型和功能模型 来源 xff1a 博客园 2016 04 18 对象模型如下 xff1a 动态模型如下 xff1a 功能模型如下 x
  • 要你命三千又三千的成长之旅

    今天 xff0c 是我第一回玩博客 xff0c 也是作为一个小白听从他人的建议 xff0c 用博客来记录自己的电脑学习之旅 xff0c 自己的成长之旅 xff01 我不喜欢博客 xff0c 但是我依然要开始努力用博客记录自己的点点滴滴 xf
  • UML中关联,依赖,聚集,组成的联系和区别

    在UML中 xff0c 关联 xff0c 依赖 xff0c 聚集 xff0c 组成的联系十分紧密 xff0c 不容易区分 xff0c 本文试图用通俗的语言来讲解这四种关系的区别 关联 xff0c 即是发生关系 xff0c 一个类A关联类B