依赖(Dependency)
- 是一种使用的关系,表示类之间的调用关系,即一个类的实现需要另一个类的协助。
- 线型:带普通箭头的虚线,指向被使用者
关联(Association)
- 是一种拥有的关系,一个类知道另一个类的特性和行为;可单向、双向、自身关联。
- 线型:带普通箭头的实心线,指向被拥有者。双向的关联可没有箭头。
- 双向关联如:老师与学生,丈夫与妻子
- 单向关联如:数学班主任可以占用很多体育老师的课,而体育老师…
聚合(Aggregation)
- 是整体与部分的关系,且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系。
- 线型:带空心菱形的实心线,菱形指向整体。
组合(Composition)
- 是整体与部分的关系,但部分不能离开整体而单独存在,随整体的创建而创建。
- 线型:带实心菱形的实线,菱形指向整体
实现(Realization)
- 是一种类与接口的关系,表示类实现接口或抽象类
- 线型:带三角箭头的虚线,实现类指向接口
泛化(Generalization)
- 是一种继承派生关系,它指定子类如何特化父类的特征和行为。
- 线型:带三角箭头的实线,箭头指向父类
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
大话设计模式中UML类图举例: