详解UML中的聚合,关联,泛化等关系

开发 后端
本篇文章主要介绍了UML中的聚合,关联,泛化等关系,希望对大家有所帮助。

1. Overview

UML设计类中,类的关系分为Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(组合关系)五种!

2. Generalization(泛化)

Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。

 

 

3. Dependency(依赖)

表现为函数中的参数(use a)。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。

 

 

4. Association(关联)

表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。

 

 

5. Aggregation(聚合)

关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。

 

 

6. Composition(组合)

关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。

 

 

注:转自http://blog.csdn.net/maybehelios/archive/2008/01/12/2038685.aspx

【编辑推荐】

  1. UML依赖和UML关联关系的异同点解析
  2. 几种UML关联关系的区别详解
  3. 学习笔记 解析UML建模工具-Rational Rose
  4. 专家讲解 UML关联、依赖、聚集等关系的异同
  5. 解析UML类图关系中UML关联和其他关系的区别和联系
责任编辑:金贺 来源: ITEYE博客
相关推荐

2012-01-05 11:20:08

JavaUML

2010-07-08 14:58:29

UML类图关系

2010-07-09 10:36:14

UML类图关系

2010-06-12 15:04:43

UML关联

2010-06-12 15:21:19

UML关联

2010-06-13 09:42:05

UML依赖

2010-07-09 15:29:51

UML类关系

2010-07-07 10:54:53

UML关联关系

2010-06-28 16:54:49

UML类图关系

2010-07-09 10:26:35

UML类图关系

2010-06-29 13:11:40

UML类图依赖关系

2010-07-08 15:28:39

UML类图依赖关系

2010-06-13 09:18:28

UML依赖

2010-06-10 13:55:13

UML Rose

2010-07-01 13:00:20

UML用例图

2010-06-18 10:58:28

UML模型元素

2010-06-13 09:32:01

UML依赖

2010-06-28 17:26:02

UML类图关系

2011-11-17 09:30:00

UML

2010-07-06 11:21:37

UML状态图
点赞
收藏

51CTO技术栈公众号