UML类图关系表示
原创内容,转载请注明出处
UML类图关系,常见有一下几种:泛化(Generalization,即继承)、实现(Realization)、组合(Composition)、聚合(Aggregation)、关联(Association)、依赖(Dependency)。
1、泛化(Generalization,即继承)
泛化是指一种继承关系,表示一个子类继承父类,即子类拥有父类的一些特性。
代码表现:子类继承父类,子接口继承父接口。
UML表示:使用一个带三角箭头的实线,箭头指向父类。
2、实现(Realization)
实现是指子类实现父类接口的所有行为方法。
代码体现:子类实现父接口
UML表示:使用一个带三角箭头的虚线,箭头指向父类接口。
3、组合(Composition)
组合关系是整体与部分的关系,部分不能离开整体而单独存在。如公司和部门,没有公司,就不存在部门。
代码体现:成员变量。
UML表示:带实心菱形的实线,菱形指向整体。
4、聚合(Aggregation)
聚合是整体和部分的关系,和组合不一样,部分可以离开整体而单独存在。如汽车和轮胎、引擎,没有汽车,轮胎、引擎依然可以存在。
代码体现:成员变量。
UML表示:带空心菱形的实线,菱形指向整体。
5、关联(Association)
关联关系是一种拥有的关系。比如老师与学生,妻子与丈夫的关联可以是双向的,也可以是单向的。
代码体现:成员变量。
UML表示:普通实心线,双向关联可以是两边都有箭头或者不需要箭头,单向关联单个箭头,箭头指向被拥有者。
6、依赖(Dependency)
依赖是一种使用关系,即一个类的实现需要另一个类的协助。
代码体现:局部变量、方法的参数或者对静态方法的调用。
UML表示:带虚线的的箭头,箭头指向被使用者。
以上关系的强弱顺序。
泛化(继承)=实现>组合>聚合>关联>依赖
下图是一个整体关系图,展现了各种类图关系