Markdown使用mermaid
目录
Markdown使用mermaid
0. 符号表示
-
类元素的可见范围
可见范围 表示方法 private - public + protected # package ~ -
类的修饰
符号 类型 <<Interface>>接口 <<abstract>>抽象类 <<Service>>service类 <<enumeration>>枚举

1. 泛化
- 定义: 表示继承关系(子类和父类).
- 表示:三角实线,指向父类.
classDiagram
class Animal{
-age: int
+sleep(): void
}
class Dog
Animal <|-- Dog
classDiagram
class Animal{
-age: int
+sleep(): void
}
class Dog
Animal <|-- Dog2. 实现
- 定义: 表示类和接口之间的关系.
- 表示: 三角虚线,指向接口.
classDiagram
class Person {
+ say(): void
}
class Man
Person <|.. Man
classDiagram
class Person {
+ say(): void
}
class Man
Person <|.. Man3. 组合
- 定义: 整体与局部的关系,部分不能离开整体单独存在,称为强聚合,属于关联关系的一种.
- 表示: 实心菱形实线,实心菱形指向整体.
- 代码体现: 成员变量
classDiagram
class Person{
-brain
}
class Brain {
- weight
}
Person *-- Brain
classDiagram
class Person{
-brain
}
class Brain {
- weight
}
Person *-- Brain4. 聚合
- 定义: 整体与局部的关系,部分能离开整体单独存在,称为强聚合,属于关联关系的一种.
- 表示: 空心菱形实线,空心菱形指向整体.
- 代码体现: 成员变量
classDiagram
class Computer {
-keyboard
}
class Keyboard {
-type
}
Computer o-- Keyboard
classDiagram
class Computer {
-keyboard
}
class Keyboard {
-type
}
Computer o-- Keyboard5. 关联
- 定义: 一种拥有的关系, 使一个类知道另一个类的属性和方法,关联可以是单向的,也可以是双向的.双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头.
- 表示: 普通箭头的实心线,指向被拥有者.
- 代码体现: 成员变量
classDiagram
class Teacher {
-students: List
+teach(): void
}
class Student {
-teacher: List
+learn(): void
}
Teacher <--> Student
classDiagram
class Teacher {
-students: List6. 依赖
- 定义: 一种使用关系.
- 表示: 普通箭头的虚线,箭头指向被使用者
- 代码体现: 局部变量, 方法的形参, 方法返回值静态方法的调用
classDiagram
class Person {
+draw(tool: DrawTool): void
}
class DrawTool {
-color
}
Person <.. DrawTool
classDiagram
class Person {
+draw(tool: DrawTool): void
}
class DrawTool {
-color
}
Person <.. DrawTool7. 各种关系强弱顺序
- 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖