首页 > 代码库 > (转)UML类图中的6种关系

(转)UML类图中的6种关系

原文

继承:空心三角形箭头的实线,子类指向父类。代码中通常有extends关键字(Java)。

实现:空心三角形箭头的虚线,实现类指向接口。代码中通常有implements关键字(Java)。

关联:通常是类A中需要引用另一个类B的实例作为成员变量,表示类A需要“知道”类B。实线箭头,类A指向类B。

依赖:通常是类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量。虚线箭头,类A指向类B。

 

聚合:通常是类A中需要包含另一个类B的实例或实例的集合,表示一种弱的“拥有”关系,即类A包含类B,但类B不是类A的一部分,而是一个独立存在的类。尾部为空心菱形的实线箭头,类A指向类B。

合成:通常需要在实例化类A的同时在其构造方法之中实例化类B,使类B作为类A的一部分,表示一个强的“拥有”关系,即类B是类A的一部分,二者共生命周期,具有严格的“整体—部分”关系。尾部为实心菱形的实现箭头,类A指向类B。

(转)UML类图中的6种关系