在UML类图中,常见的有以下几种关系: 泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
UML类图关系举例
1.泛化关系(generalization)
【具体解释】:指继承关系,子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
【代码体现】:子类继承父类
2.实现关系(Realization)
【具体解释】:和泛化关系几乎一致,区别是实现关系继承了一个抽象类(abstract ,interface),泛化关系继承了一个继承具体类。
【代码体现】:子类实现接口或抽象类
3.关联关系(Association)
【具体解释】:类与类之间的联接,它使一个类知道另一个类的属性和方法。在Java语言中,关联关系一般使用成员变量来实现。如码农和他领导之间的关系。
【代码体现】:成员变量
4.聚合关系
(Aggregation)
【具体解释】:整体与部分的关系,且部分可以离开整体而单独存在。如公司倒闭了,但是码农还存在。
【代码体现】:成员变量
5.组合关系
(Composition)
【具体解释】:是整体与部分的关系,但部分不能离开整体而单独存在。如汽车和轮胎的关系
【代码体现】:成员变量
6.依赖关系(Dependency)
【具体解释】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
【代码体现】:局部变量、方法的参数或者对静态方法的调用