UML六种关系图示(过目不忘版)

article/2025/10/26 8:58:09

在这里插入图片描述
图中,从左到右分别是依赖、关联、聚合、组合、实现、继承六种关系在UML图中的画法,有箭头,有菱形,有三角,他们为什么这么画呢,之间有什么联系呢,这要从全局来看。

首先,依赖关联关系和聚合组合关系的体现分别是剪头和菱形。依赖关联表示的是两个类之间的联系,而组合聚合表示的是整体和部分的关系。因此,菱形可以看作整体,菱形可以拆分成两个甚至更多的剪头形状,所以菱形指向的则是整体,而剪头指向的是部分。

上图从左到右的耦合度依次加强,在图形中的体现是,实线为强,虚线为弱。实现和虚线就好比纱布和绒布,纱布的空隙大,承受力弱,体现为弱,绒布空隙小,结实,体现为强。虚线有空隙,体现为弱,实线没有空隙,体现为强。同理,实心为强,空心为弱。

有一个重要的问题是,为什么组合聚合关系同时存在菱形和剪头,而泛化关系则没有剪头呢?我觉得起初是有的,可是从UML图的作用出发,就是要用更简洁的图形来更清晰的说明问题。某些图像元素省去也不影响大家对图的理解,那自然要省去了,这就是为什么单向关联有剪头,而双向关联不是两个剪头,而是取消剪头。聚合组合关系需要用菱形和剪头体现整体和部分,所以不得取消剪头。而泛化关系,父类只能有一个,子类可以有N个,所以唯一的箭头要指向共同的父类


http://chatgpt.dhexx.cn/article/6Dk2DoSi.shtml

相关文章

类图有哪些关系?

此刻是最佳时间,抓住当下!最近在学习设计模式的时候,时常要用到类图及它们的关联,所以学习了UML类图及类图之间的关系,转载记录一下。 首先我们需要知道什么是类图。 类图(ClassDiagram)是UML图…

UML中的六种关系

UML关系 1、依赖关系 是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。 在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一…

UML的六大关系

关联关系 单向关联 双向关联 自关联 聚合关系 聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系 聚合关系通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如&…

部分和问题

题目来源 挑战程序设计竞赛(第二版) 语言 C/C 题目 部分和问题 描述 给定整数 a1, a2, ..., an,判断是否可以从中选出若干数,使它们的和恰好为 k。 样例1 输入: n 4 a {1, 2, 4, 7}; k 13 输出&#xff1a…

【UML】2.部分与整体的媒介:关系

UML模块中的任何事物都不是独立存在的,他们之间存在着一定的关系。下面就对这些关系,分类了解一下。 一.概念 【关联】Association 两个类存在某种语义上的联系,关联有单向关联和双向关联。 【聚合】Aggregation 类之间是整体…

干货!基于部分-整体关系的概念、关系和物理场景认知推理

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 人类视觉感知的一个关键方面是能够将视觉场景解析为单个对象并进一步分解为对象部分,形成部分-整体层次结构。这种复合结构可以产生丰富的语义概念和关系,从而在视觉信号的解释和组织以及…

设计模式.组合模式(整体和部分关系, 树和Node,透明组合和完全组合)

抽象角度看 一棵树有很多节点,根据位置可以分为:根节点,中间节点,叶子节点 所有的节点都是树节点 这两句话转换为代码就是: 你可以有三个Node类,RootNode,TempNode,LeafNode。当然…

HINSTANCE (句柄相关)

在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16   程序使用HINSTANCE来区别task。   区别:   Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。   HMODULE 是代表应用程序载入的…

为什么需要传递HINSTANCE给CreateWindow?

Win32中有两个API函数,CreateWindow和RegisterClass。它们有一个HINSTANCE参数,很多人对这个参数不是很理解,今天就来讲一讲。 窗口类的名称还不足以唯一地确定这个窗口类。每一个进程都会拥有它自己的窗口类列表,而在这个列表中…

HINSTANCE数据类型

作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有。转载时请在明显地方注明本文的详细链接,未经作者同意请不要删除此段声明,感谢…

【引用】HINSTANCE

在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16 程序使用HINSTANCE来区别task。 区别: Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。 HMODULE 是代表应用程序载入的模块,…

hInstance是什么参数?

熟悉C编程的人都知道main函数带有2个参数:arc和argv,完整的main函数定义是:int main(int argc, char *argv[])。argc指示程序启动时命令行参数的个数,argv则包含具体的参数字符串。 如果有程序叫“hello.exe”,直接启动…

hInstance是什么参数

熟悉C编程的人都知道main函数带有2个参数:arc和argv,完整的main函数定义是:int main(int argc, char *argv[])。argc指示程序启动时命令行参数的个数,argv则包含具体的参数字符串。 如果有程序叫“hello.exe”,直接启…

外卖小程序邀请入口获取推广路径

外卖小程序邀请入口 饿了么小程序邀请入口 1.手机应用商城搜索 淘宝联盟app,让后下载,登录建议直接选淘宝登录,让后按照下图的步揍即可. 淘宝联盟APP获取推广appid和path的地方,这是两个不同的每日红包。 2.另外饿了么小程序里面有个邀请有礼的,通过上…

万能门店小程序可diy完整前后端源码

这个是一位朋友付费分享的万能门店小程序,听他说功能挺强大的,功能也挺全面的。 有必须提醒一下:小程序代码分为前端和后端。 前端代码:例如:用“微信开发者工具”上传至微信官方审核就可以了。 后端代码&#xff1…

uniapp 生成微信小程序码

第一步创建一个容器&#xff0c;展示图片 <view style"margin: 49rpx auto;width: 300rpx;height: 300rpx;"><image :src"maskData" style"width: 100%;" longtap"longtap"></image> </view> 功能是&#x…

微信小程序的推广思路与方法,详细思路解析

简单来说&#xff0c;小程序就是微信上的APP&#xff0c;它内生于微信&#xff0c;坐享10亿流量&#xff0c;而且不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;用户扫一扫或者搜一下即可打开应用。今天&#xff0c;我们就来看一看微信小…

替你发优惠券,为了推广小程序微信真是豁出去了

微信iOS 6.6.6版本上线了! 虽然App Store的新功能里,只写了“可保留未编辑完的朋友圈”。但心细如发的道爷依然发现几大重要更新,解决的痛点,必将让10亿用户为之小嗨一把,小程序也迎来了新的春天!另外,安卓版已经正式上线了! 微趋道,就是小程序 本次主要更新了以下内…

小程序介绍

1. 小程序介绍 微信小程序&#xff0c;简称小程序&#xff0c;英文名 Mini Program &#xff0c;是一种不需要下载安装即可使用的应用&#xff0c;它实现 了应用“触手可及”的梦想&#xff0c;用户扫一扫或搜一下即可打开应用 1.1 为什么是微信小程序&#xff1f; 微信有海…

小程序快速推广方法,你知道多少?

很多人觉得小程序的风口已经过去&#xff0c;其实不然&#xff01;就从这次疫情看&#xff0c;很多平时只做线下的大型餐饮店&#xff0c;都开始上线外卖平台&#xff0c;如果品牌具有一定规模的话&#xff0c;比起依托第三方的外卖平台&#xff0c;肯定是开发自己的小程序性价…