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

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

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

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

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

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

相关文章
|
uml
UML图示与代码对照
本文转载:http://www.cnblogs.com/iamlilinfeng/archive/2012/08/29/2662740.html 一、类继承 1 public class Father 2 { 3 } 4 public class Child : Father 5 ...
826 0
|
uml 测试技术
UML图示
来源: http://www.uml.org.cn/oobject/200901041.asp 近些天学习设计。由于没有具体项目,原有项目也没有什么设计的概念,只是看相关的书籍,所以着实有些抓狂。然最抓狂的是对于UML那些表示法的生疏,虽然看过N+1遍相关的表示,但由于之前看过的设计图稿和自己画的东东本来就不多,因此出来类图,对象图等及其基本的图示可以很清楚的知道谁是怎么表示的外,其他的都只是有些模糊的概念。
782 0
|
6月前
|
uml
UML之类图
UML之类图
97 1
|
6月前
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
296 1
|
3月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
3月前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
5月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
575 1
|
3月前
|
数据可视化 Java uml
精通UML:从类图到序列图的实战指南
【8月更文第23天】统一建模语言(Unified Modeling Language, UML)是一种用于软件工程的标准图形化语言,它提供了一套工具来帮助开发团队可视化、构造和文档化软件系统。在UML中,类图和序列图是最常用也是最重要的两种图。类图用于描述系统的静态结构,而序列图则用于表示对象之间的交互和系统的动态行为。
155 5
|
3月前
|
设计模式 uml
设计模式常用的UML图------类图
这篇文章介绍了UML中类图的基本概念和用途,详细解释了类与接口、类之间的关系,包括继承、实现、组合、聚合、关联和依赖等六种关系,并展示了它们在类图中的表示方法。
设计模式常用的UML图------类图