UML类图符号解释

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML类图符号解释相关的知识,希望对你有一定的参考价值。

在UML类图中,常见的有以下几种关系:?

泛化(Generalization)和 ?实现(Realization) - 父子关系

依赖(Dependency) - 局部变量、方法參数

聚合(Aggregation)、组合(Composition)以及关联(Association) ?- 成员变量

????????

?1.?泛化(Generalization

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

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

?技术分享图片

????????

2.?实现(Realization

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

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

?技术分享图片

????????

3.?关联(Association)

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

????????【代码体现】:成员变量

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

?技术分享图片

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

?? ??

???????

?4.?聚合(Aggregation

????????【聚合关系】:是总体与部分的关系。且部分能够离开总体而单独存在

如车和轮胎是总体和部分的关系,轮胎离开车仍然能够存在。

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

????????【代码体现】:成员变量

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

?技术分享图片

???????

?5.?组合(Composition)

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

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

【代码体现】:成员变量

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

技术分享图片

?

4.?依赖(Dependency)

????????【依赖关系】:是一种使用的关系,即一个类的实现须要还有一个类的协助,所以要尽量不使用双向的互相依赖.

????????【代码表现】:局部变量、方法的參数或者对静态方法的调用

????????【箭头及指向】:带箭头的虚线,指向被使用者

技术分享图片


=================================================================================================

????????各种关系的强弱顺序:

????????泛化?=?实现?>?组合?>?聚合?>?关联?>?依赖?

????????以下这张UML图,比較形象地展示了各种类图关系:

?技术分享图片

?

转自:http://www.open-open.com/lib/view/open1328059700311.html

?

以上是关于UML类图符号解释的主要内容,如果未能解决你的问题,请参考以下文章

UML类图简介

UML类图

设计模式-UML类图的各符号含义(转)

面试/工作必须要会的UML类图图示详解

软件设计利器:UML类图常用符号及关系

OO:UML类图六大关系