UML类图

类之间的关系

Generalization and Realization(is A)

泛化和实现关系,表示继承或者实现接口。

classDiagram Dog --|> Animal Cat --|> Animal

箭头方向

箭头指向父类。

Composition(has a)

组合关系 是一种“强” 关联关系,带有一下特征:

  1. 是一种二元关系
  2. 表示整体与部分的关系
  3. 部分脱离整体存在没有意义(Only made for Composition)
classDiagram Human *--LegOfHuman Human *-- HandOfHuman

mermaid代码

classDiagram
Human *--LegOfHuman 
Human *-- HandOfHuman 

箭头方向

符号是指向整体(whole)的一端。

Aggregation (has a)

聚合关系,B中有A的实例,是一种弱关联关系,它与组合关系的区别在于“部分”脱离整体是可以存在的。

classDiagram Student o-- Course Student o-- Book

mermaid代码

classDiagram

Student o-- Course 
Student o-- Book

符号是指向整体(whole)的一端。

Dependency(Use a)

这是一种弱依赖关系,表示一个类使用到了另外一个类,它的特点:

  1. 两者的关系不固定,是可以被替换的
  2. 二者是平等的关系

举例:司机在开车的时候依赖汽车,它们分离可以独立存在。

classDiagram class Car{ +move() } class Driver{ +drive(car:Car) } Driver ..> Car : use

mermaid代码

classDiagram

class Car{
+move()
}

class Driver{
+drive(car:Car)
}

Driver ..> Car : use

箭头方向

被描述为supplier-client 关系,箭头指向提供者。

符号方向总结

  1. 整体与部分关系中的 组合、聚合 符号都是在整体的一段
  2. 依赖关系,箭头指向提供方
  3. 继承和实现,箭头指向父类

参考:
https://www.uml-diagrams.org/composition.html?context=class-diagrams

posted @ 2022-03-28 20:00  oaksharks  阅读(38)  评论(0编辑  收藏  举报