UML六种关系

简介: Created by Wang, Jerry on Nov 29, 2014

Created by Wang, Jerry on Nov 29, 2014

泛化

概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在程序中是通过继承类实现的。比如狗是对动物的具体描述,在面向对象设计的时候一般把狗设计为动物的子类。


表示方法:空心三角形箭头的实线,子类指向父类


image.png


实现

概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述


表示方法:空心三角形箭头的虚线,实现类指向接口


image.png


依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖,在程序中一般表现为类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量。


表示方法:虚线箭头,类A指向类B。


image.png

关联

概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,在程序中被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量


表示方法:实线箭头,类A指向类B


image.png


聚合

概念:聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分;


表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B


image.png

组合

概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。


表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类A指向类B


image.png


Updated by Jerry - 2018-02-10 7:33PM

source link: http://www.open-open.com/lib/view/open1328059700311.html

泛化(Generalization)

【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

【箭头指向】:带三角箭头的实线,箭头指向父类


image.png

2. 实现(Realization)

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.

【箭头指向】:带三角箭头的虚线,箭头指向接口

image.png

3. 关联(Association)

【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

image.png

4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

image.png

5. 组合(Composition)

【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。

组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

image.png


相关文章
|
数据可视化 uml
UML类图的六大关系,最佳学习理解方式
UML类图的六大关系,最佳学习理解方式
361 0
UML类图的六大关系,最佳学习理解方式
|
数据可视化 uml
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
UML图讲解,关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系。
2053 0
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
|
测试技术 uml
用例关系 和 UML类关系
用例关系 和 UML类关系
89 0
用例关系 和 UML类关系
|
测试技术 uml
UML图的依赖、关联、聚合、组合关系(突击软考)
UML图的依赖、关联、聚合、组合关系(突击软考)
184 0
|
测试技术 uml
一次讲清:UML类图中的六大关系
今天给大家分享UML图以及其中最重要的UML类图的几大关系,几分钟交会大家如何制作出UML类图。在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。
一次讲清:UML类图中的六大关系
|
uml
通过简单例子 | 快速理清 UML 中类与类的六大关系
通过简单例子 | 快速理清 UML 中类与类的六大关系
79 0
通过简单例子 | 快速理清 UML 中类与类的六大关系
|
uml
UML - UML中类与类的关系
UML - UML中类与类的关系
150 0
UML - UML中类与类的关系
|
数据可视化 测试技术 uml
UML——概述(事物、关系、图)
UML——概述(事物、关系、图)
182 0
UML——概述(事物、关系、图)
|
设计模式 数据可视化 测试技术
【设计模式】UML类图关系与符号
UML-Unified Model Language 统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向对象软件的开放方法。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。
154 0
【设计模式】UML类图关系与符号
一张图搞定java类之间的6种关系,以后再也不怕画UML图了
java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
一张图搞定java类之间的6种关系,以后再也不怕画UML图了