mermaid类图画法

Mermaid 是一种基于文本的图表工具,可以用来绘制类图。以下是使用 Mermaid 绘制类图的基本方法和示例:

基本语法

  1. 定义类

    • 类的基本结构包括类名、属性和方法。属性和方法可以使用 +(公有)或 -(私有)来修饰。
    • 示例:
      Animal
      +int age
      +String gender
      +isMammal() : bool
      +mate()
  2. 定义关系

    • 继承:使用 <|-- 表示继承关系。
      Animal
      Duck
    • 组合:使用 *-- 表示组合关系。
      Animal
      Zebra
    • 聚合:使用 o-- 表示聚合关系。
      Animal
      Fish
    • 关联:使用 --><-- 表示关联关系。
      Animal
      Fish
  3. 添加注释

    • 可以使用 note 关键字为类添加注释。
      classDiagram
        class Duck {
          +String beakColor
          +swim()
          +quack()
        }
        note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging"
      
  4. 定义接口

    • 使用棒棒糖语法定义接口。
      classDiagram
        class Animal {
          +int age
          +String gender
          +isMammal() bool
          +mate()
        }
        Animal --() Walkable
      
  5. 定义命名空间

    • 使用 namespace 关键字对类进行分组。
      classDiagram
        namespace BaseShapes {
          class Triangle
          class Rectangle {
            double width
            double height
          }
        }
      
  6. 设置样式

    • 可以为类设置样式,例如背景颜色、边框颜色等。
      classDiagram
        class Animal
        class Mineral
        style Animal fill:#f9f,stroke:#333,stroke-width:4px
        style Mineral fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
      

完整示例

以下是一个完整的类图示例,展示了如何定义类、关系、注释和样式:

classDiagram
  class Animal {
    +int age
    +String gender
    +isMammal() bool
    +mate()
  }
  class Duck {
    +String beakColor
    +swim()
    +quack()
  }
  class Fish {
    -int sizeInFeet
    -canEat()
  }
  class Zebra {
    +bool is_wild
    +run()
  }
  Animal <|-- Duck
  Animal *-- Zebra
  Animal o-- Fish
  note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging"
  style Animal fill:#f9f,stroke:#333,stroke-width:4px
  style Duck fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

你可能感兴趣的:(设计模式,mermaid)