UML中用得最多的就是类图。
类与类之间由弱到强关系是: 没关系 > 依赖 > 关联 > 聚合 > 组合。
类图中常用的关系有以下几种:
1.无关系。
2. 依赖关系:表示一个类依赖于另一个类的定义。它也是类与类之间的连接,并且总是单向的。用
表示。一般而言,体现为局部变量,方法的参量,以及对静态方法的调用。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。一个类调用被依赖类中的某些方法而得以完成这个类的一些职责。
1. 继承关系:包括泛化和实现。
1.1 泛化。表示子类继承父类。耦合度最大的一种关系。用
表示。
1.2 实现。表示对接口的实现。用
表示。
2. 关联关系:表示类与类之间的联结,它使一个类知道另一个类的属性和方法。关联关系用
表示。关联关系可以是单向的,也可以是双向的。关联关系是使用实例变量实现的。在每一个关联的端点,还可以有一个基数,表明这一端的类可以有几个实例。表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量
3. 聚合关系:(包含关系)聚合关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。用
表示。聚合关系也是使用实例变量实现的。
4.组合关系:(包含关系,同生死共存亡)组合关系也是关联关系的一种,是比聚合关系更强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系是不能共享的。用
表示。
聚合与组合的区别:
a.聚合就是“has-a”,组合就是“contains-a”。
b车与车轮是聚合关系。
c公司与部门是组合关系。因为部门随着公司的创建而创建,销毁而销毁。对应的数据同生死共存亡。
可参考:http://www.uml.org.cn/oobject/201104212.asp
UML