UML类图中的四种类关系

转自http://blog.csdn.net/e5945/article/details/5968654

一.泛化。

泛化是指类之间继承的关系。一句话,is-a。

泛化关系使用实现空心三角表示,如下图:

UML类图中的四种类关系_第1张图片

二.依赖。

依赖关系是指类在实现某一功能时对另一个类的服务的依赖。依赖关系的特点体现在局部,临时。一般用在局部变量,方法参数以及静态方法的调用等。依赖关系用虚线箭头表示,如下图:

三.关联。

一个对象的实例和另一个对象的实例存在固定的依赖关系。表现为后者是前者的一个实例变量。

即has-a关系。

UML类图中的四种类关系_第2张图片

关联关系有五种:

UML类图中的四种类关系_第3张图片

UML类图中的四种类关系_第4张图片

以上分别为双向关联和单向关联:双向关联意味着两个类彼此知道它们间的联系,而单向关联只有一个类知道这种联系的存在。

以下为可能的多重值描述:

可能的多重值描述
表示 含义
0..1 0个或1个
1 只能1个
0..* 0个或多个
* 0个或多个
1..* 1个或多个
3 只能3个
0..5 0到5个
5..15 5到15个

 

四.聚合。

聚合是一种特殊的关联关系。它强调的是构件组成整体的关系。即整体由构件组成。

聚合和关联的区别:

1.关联关系的两个对象是在同一个层次上的。比如人和电脑,聚合关系强调组成,比如电脑和他的显示器,键盘等就是聚合关系,电脑是由这些构件组成的,而人不是由电脑组成,只是强调一种使用的关联关系。

2.聚合关系中的构件和整体对象,可以有相同的生命周期,这种聚合称为组合聚合,反之叫做基本聚合。

图 12: 一个聚合关联的例子

图 13: 一个组合关系的例子

以上分别是基本聚合和组合聚合的例子。

 

最后看一下类元素的表示,CFamily是一个非抽象类,而CPerson是一个抽象类,类名用斜体表示:

UML类图中的四种类关系_第5张图片

接口的表示如下,因为方法都为抽象方法,所以方法名用斜体表示

此外,一条带有闭合的单向箭头的 线意味着实现(或实施implements);一条带有闭合单向箭头的线表示继承(extends)。

你可能感兴趣的:(UML类图中的四种类关系)