UML——类图
- 用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。
- 类之间的关系:依赖、泛化(继承)、实现、关联、聚合、组合
依赖关系(Dependency)
- A类中用到B类,具有依赖关系。A---->B
- 类的成员属性
- 方法的返回值
- 方法接收的参数
- 方法中使用到的(类的局部变量)
泛化关系(Generalization)
- 泛化关系就说继承关系,泛化关系就说依赖关系的特例
- A继承B A——|>B
实现关系(Implementation)
- 实现关系就说A类实现了B接口,实现关系是依赖关系的特例
- A实现B A-----|>B
关联关系(Association)
- 关联关系实际上就是类与类之间的关系,关联关系是依赖关系的特例
- 关联关系具有导航性:即双向关系或单向关系
- 关系具有多重性:如"1"(表示有且仅有一个),“0…”(表示0个或者多个),“0,1”(表示0个或者一个),“n…m”(表示n到m个都可以),“m…*”(表示至少m个)
- A关联B A——>B
聚合关系(Aggregation)
- 表示的整体和部分的关系,整体和部分可以分开,聚合关系是关联关系的特例,所以他具有关联的导航性与多重性
- 可分离
- 电脑(A)和鼠标(B)有聚合关系A<>—B
组合关系(Composite)
- 表示的整体和部分的关系,整体和部分不可分离
- 如果A和B不可分离,则升级为组合关系
- 电脑(A)和鼠标(B)不可分离A<*>—B
总结(方便记忆)
依赖关系: 类A用到类B A---->B
关联关系: 类与类的关系,依赖关系的特例,具有导向性和多重性 A关联B A——>B
聚合关系:关联关系的特例,可分割 A聚合B A<>——B
组合关系:关联关系的特例,不可分割 A组合B A<*>——B
实现关系:依赖关系的特例,A实现B A- - -|>B
泛化关系:依赖关系的特例,A泛化B A—|>B