UML类图的关系
多态
泛化(Generalization)
【定义】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为
【UML表示】:带三角箭头的实线,箭头指向父类
【代码表现】:A类 extends B类
public Class Tigger
extends
Animal{
实现(Realization)
【定义】:是一种类与接口的关系,表示类是接口所有特征和行为的实现
【UML表示】:带三角箭头的虚线,箭头指向接口
【代码表现】:A类 implements B接口
public Class Course
implements
Goods{
依赖(Dependency)
【定义】:是一种使用的关系,即一个类的实现需要另一个类的协助
【UML表示】:带箭头的虚线,指向被使用者
【代码表现】:局部变量、方法的参数或者对静态方法的调用
关联
下面的三种关系从语法上是没有区别的。只是在语义是做区分。
关联(Association)
【定义】:是一种拥有的关系。类的地位还是平等的。
【UML表示】:带普通箭头的实心线,指向被拥有者
【代码表现】:成员变量
注意事项:
- 通常情况下关联是双向的,在使用的时候会转成单向。转成单身的原则:以业务关注点高的类为起点,关联另一个类。
聚合(Aggregation)
【定义】:是整体与部分的关系,且部分可以离开整体而单独存在,部分可以多个
整体使用。类有上下层的关系。
【UML表示】:带空心菱形的实心线,菱形指向整体
【代码表现】:成员变量
组合(Composition)
【定义】:是整体与部分的关系,但部分不能离开整体而单独存在,部分只能被一个
整体使用。类有上下层的关系。它们的生命周期是:同生共死
,即如果整体消失了,那么局部也会消失。
【UML表示】:带实心菱形的实线,菱形指向整体
【代码表现】:成员变量
【【【版权所有,转载请注明原文链接。】】】
文中有不妥或者错误的地方还望指出,以免误人子弟。如果觉得本文对你有所帮助不妨【推荐】一下!如果你有更好的建议,可以给我留言讨论,共同进步!
再次感谢您耐心的读完本篇文章。
【【【我们所浪费的今天,是昨天死去的人奢望的明天;我们所厌恶的现在,是未来的自己回不去的曾经】】】