用于表示一类对象与另一类对象之间有联系,如下图,CheckResult(校验结果类)有属性Items是List<LanguageWordsItem>类型,则CheckResult与LanguageWordsItem是关联关系。 ... has a ..
以带燕尾箭头的实线表示
markdown
1 2 3 4 5 6 7 8 9 10
```mermaid classDiagram class CheckResult{ +LanguageWordsItem[] Items } class LanguageWordsItem{ +string Language +int Type } CheckResult --> LanguageWordsItem
1 2 3 4 5 6 7 8 9 10 11 12 13
classDiagram
```mermaid classDiagram class CheckResult{ +LanguageWordsItem[] Items } class LanguageWordsItem{ +string Language +int Type } CheckResult --> LanguageWordsItem
组合/组成关系 Composition
用于表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在。比如下图中Company(公司)拥有CompanyDepartment(部门),当没有公司时,部门也就不存在了。 ... is a part of ...
以实心的菱形箭尾与实线表示
markdown
1 2 3 4 5 6 7 8 9 10
```mermaid classDiagram class Company{ +CompanyDepartment[] Departments } class CompanyDepartment{ +int Id +string Name } Company *-- CompanyDepartment
1 2 3 4 5 6 7 8 9 10 11 12 13
classDiagram
```mermaid classDiagram class Company{ +CompanyDepartment[] Departments } class CompanyDepartment{ +int Id +string Name } Company *-- CompanyDepartment
聚合关系 Aggregation
用于表示类之间整体与部分的关联关系,是“弱”的包含(” … owns a …” )关系,成分类可以不依靠聚合类而单独存在,可以具有各自的生命周期,部分可以属于多个整体对象。比如下图中,Library(图书馆)有Boook(书),但是即便图书馆没有了,书还是独立存在的。 ... owns a ...
以空心的菱形箭尾与实线来表示
markdown
1 2 3 4 5 6 7 8 9 10 11
```mermaid classDiagram class Library{ +Book[] Books } class Book{ +int Id +string Name +string Press } Library o-- Book
1 2 3 4 5 6 7 8 9 10 11 12 13 14
classDiagram
```mermaid classDiagram class Library{ +Book[] Books } class Book{ +int Id +string Name +string Press } Library o-- Book