概述
类图中的关系主要有:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
泛化(Generalization)
类的继承关系在UML中为:泛化(generalize)与实现(realize):
泛化关系,就是类中的继承关系,但泛化关系是继承非抽象类
注意:是继承的非抽象类,下图中A是基类,B是子类;
比如可以定义A为汽车类,B为SUV;关系即可定义为下图的关系;
实现(Realization)
实现关系也是类继承关系的一种;
实现关系表示继承抽象类;
比如可以定义A为“车”,B为小汽车或自行车;关系即可定义为下图的关系;
关联(Association)
关联关系:关系表示类与类之间的连接,它使得一个类知道另外一个类的属性和方法。一种结构关系;
比如学生和学生证,老师和学生,领导和员工;
聚合(Aggregation)
聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成;
与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在;货车上的筐和货车之间是聚合关系,在货车类不存在时,筐类依然存在;
组合(Composition)
与聚合关系一样,组合关系同样表示整体由部分构成的语义;比如公司由多个部门组成;
但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了,比如公司和部门之间的关系。公司由部门组成,当公司不存在时,部门也就不存在了。
依赖(Dependency)
与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化;
也就是说,依赖关系是在类A中实例化了类B,关联关系是类A中存在类B,但B不需要实例化;
可以通过生命周期解释;
参考链接:
https://blog.csdn.net/weixin_42245375/article/details/102712800