UML图中经常用到几种的关系图例

学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚。今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看。

在UML的类图中,常见的有以下几种关系: 继承(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)

1、继承(Generalization)
【继承关系】:表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.
【箭头指向】:带三角箭头的实线,箭头指向父类
 
 
2、实现(Realization)
【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口


3、关联(Association)
【关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子
关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头(或实心三角形箭头)的实心线,指向被拥有者


上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。


上图为自身关联:
 
4、聚合(Aggregation)
【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体


 
5、组合(Composition)
【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.
       组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体


 
6、依赖(Dependency)
【依赖关系】:是一种使用的关系,  即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
 
 
 
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系:
 

好了,写好了,以后再也不担心忘记了,或者记不清楚了。

时间: 2024-10-31 01:20:07

UML图中经常用到几种的关系图例的相关文章

UML图中继承和实现的区别

(1)继承 介绍: 继承表示是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力. 表示方法: 继承使用空心三角形+实线表示. 示例: 鸟类继承抽象类动物 继承关系 (2)实现 介绍: 实现表示一个class类实现interface接口(可以是多个)的功能. 表示方法: 1)矩形表示法 使用空心三角形+虚线表示比如:大雁需要飞行,就要实现飞()接口 矩形表示法 2)棒棒糖表示法 使用实线表示 棒棒糖表示法 作者:最后的轻语_dd43链接:http

UML用户指南--UML图简介

本节和大家一起学习一下UML图,这里主要介绍UML结构图和UML行为图两部分,下面让我们一起看一下UML图的详细介绍吧. UML图 这里再次提到对软件体系结构进行可视化.详述.构造和文档化,有5种最重要的互补视图:用况视图(usecaseview).设计视图(designview).进程视图(processview).实现视图(implementationview).实施视图(deploymentview).每一种视图都包含结构建模(对静态事物建模)和行为建模(对动态事物建模). UML中包含9

UML图 依赖、关联、聚合、组合

UML,全称:Unified Modeing Language,关于UML的历史和详细描述可以参考<UML参考手册>.UML主要是由一些视图组成,包括静态视图(static view),用例视图(use case view),活动视图(Active view).对于开发人员来说,更重要的是静态视图里面的类图(class view)和交互视图中的顺序视图(sequence diagram). 类图可以帮助我们了解一个系统的结构,而类图除了需要描述单独的类名称.属性和操作外,我们还需要描述类之间的

uml图验收问题集锦

昨晚针对我所画的uml图让师傅进行了一下验收,我也从一个宏观的角度对我这个阶段的学习有了一定的了解,挺感谢师傅的.开始听前辈们说她们在验收uml图之后才发现自己的很多了解犹如管中窥豹,但是处于某些原因(或许是为了赶进度)就不会再改正.虽说我的进度比较慢但是我不希望自己在这纷扰的学海中浮躁,我还是要尽自己所能稳重求快.废话说了这么多进入正题吧. 首先从系统的需求开始吧,也就是针对用例图遇到的问题进行汇总:用例图是描述系统需求的,在uml中是属于比较宏观的了,其他的图除了实现图之外其他的都是针对某个

【UML】如何看Android的UML图

UML图有很多类型,这里只讨论最重要也最常用的两种 - 类图和时序图. 1. 类图 通过类图,我们可以很容易的了解代码架构,理清模块之间的关系, 包括继承(Inheritance),实现(realization),依赖(dependency),组合(Composition), 聚合(Aggregation), 关联 (Association) 等等. 下面就图中给出的7种关系一一解读. 1.1 Composition Compostion 是一种 Association 关系,但它更强调两个类之

UML建模中简单消息、同步消息和异步消息

两种消息在UML图中的表示方法如图: 1.同步方式 两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的.发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备. 发送程序首先向接收程序发起一个请求,称之为发送消息,发送程序紧接着就会堵塞当前自身的进程,不与其他应用进行任何的通信以及交互,等待接收程序的响应,待发送消息得到接收程序的返回消息之后会继续向下运行,进行下一步的业务处理. 2.异步方式 两个通信应用之间可以不用同时在线等待,任何一方只需各自处理自己的业务,比

详解UML图之类图 (转)

原址: https://www.jianshu.com/p/4cd95d4ddb59 2.  怎么画类图?用什么工具? 使用工具:Visio或者processon在线作图 在类图中一共包含了以下几种模型元素,分别是:类(Class).接口(Interface)以及类之间的关系. 2.1 类(Class) 在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象. 2.2 接口(Interface) 接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承).在UML中,

UML类图中的几种关系总结

       UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency).关联(Association).聚合(Aggregation).组合(Composition).泛化(Generalization).实现(Realization)等. 依赖(Dependency) A依赖B,表示A会使用B的行为或属性,但B不能使用A的行为.属性,那么A和B的关系是依赖关系. uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素. 演示样例代码 : class B

[2]工欲善其事必先利其器-------UML中的几种常见关系(二)

目录 1.UML类图中几种常见的关系 经过(一)中介绍,我选择的是StarUML作为UML的学习工具,个人喜好,至少在功能上能够满足我现在的需求, 在介绍StarUML的使用之前首先介绍下UML中几种常见的关系: UML类图中常见的关系按照关系的强弱可分为:泛化 ,实现 ,组合, 聚合 , 依赖这几种 1.泛化关系:是一种继承关系,也就是XX is a kind of XX 描述. 2.实现关系:是一种类与接口的关系. 3. 组合关系:是一种强关联,属于一种整体与部分的关系,但是部分不能离开整体