UML类图中的6种关系

来源:互联网 发布:js鼠标经过事件 编辑:程序博客网 时间:2024/06/05 15:34

继承:空心三角形箭头的实线,子类指向父类。代码中通常有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。


大雁和翅膀的关系是一种强的拥有关系 

原创粉丝点击