六种类关系
UML类图中有六种关系:
泛化关系(Generalization)
实现关系(Implementation/Realization)
依赖关系(Dependency)
关联关系(Association)
聚合关系(Aggregation)
组合关系(Composite)
泛化(Generalization)
描述:
泛化关系表示父子之间的继承关系。
表示:
在UML类图中,用带空心三角箭头的实线表示泛化关系,箭头从子类指向父类。
示例:
子类Student继承父类Person。
实现(Implementation/Realization)
描述:
实线关系表示 接口和实现类之间的关系,类实现了接口中的抽象方法。
表示:
在UML类图中,用带空心三角箭头的虚线表示实现关系,箭头从实现类指向接口。
实例:
矩形、方形、圆形类实现了接口IShape。
依赖(Dependency)
描述:
如果在一个A类中用到了另一个B类,那么就说A类依赖于B类。
包含以下几种情况:
A类中有B类的成员变量
B类是A类方法的返回类型
B类是A类方法的参数类型
A类的方法中用到了B类
表示:
在UML类图中,依赖关系用带箭头的虚线表示,箭头从使用类指向被依赖的类。
示例:
类Person依赖类Food
关联(Association)
描述:
关联关系表示两个类之间存在某种联系,他们可以互相通信。关联关系比依赖关系更强,可以是单向或者双向的。
表示:
在UML类图中,关联关系用带箭头的实现表示,箭头指向目标类。没有箭头表示双向关联。
示例:
Person类和IDCard为关联关系
聚合(Aggregation)
描述:
聚合是一种特殊的关联关系,表示整体和部分之间的关系。部分可以独立存在于整体之外,即部分可以属于多个整体或不属于任何整体。
表示:
在UML类图中,聚合关系用带空心菱形的实线表示,空心菱形指向整体。
示例:
类Mouse、类Minitor和Computer是聚合关系
组合(Composite)
描述:
组合是一种更强的聚合关系,表示整体和部分之间的关系,但部分不能独立存在,部分的声明周期依赖于整体的生命周期。
表示:
用带实心菱形的实线表示,实心菱形指向整体。
示例:
类Minitor、类Mouse和Computer是组合关系