Mermaid画UML类图

该文章已生成可运行项目,

Mermaid画类图

语法简单,可在线画图

简单示例

在这里插入图片描述

语法

基础类

classDiagram
    class 类名 {
        <<修饰符>>
        +公有属性: 类型
        -私有属性: 类型
        #保护属性: 类型
        +公有方法(参数) 返回值类型
        -私有方法()
    }

效果展示:
基础类
语法细节:

  • 命名约定: 类名应仅由字母数字字符(包括 Unicode)、下划线和短横线 (-) 组成。
  • 修饰符<<interface>>(接口)、<<abstract>>(抽象类)、<<enum>>(枚举)
  • 给类添加标签class 标签类名["类标签信息..."]
  • 可见性符号
    • + 公有(public)
    • - 私有(private)
    • # 保护(protected)
    • ~ 包内可见(package/internal)

类关系

--表示实线、..表示虚线

关系类型语法示例说明
继承(泛化)<|--父类 <|-- 子类空心三角箭头+实线
实现接口<|..接口 <|.. 实现类空心三角箭头+虚线
关联-->--类A --> 类B单向关联(箭头指向被包含方)
双向关联<-->类A <--> 类B双向箭头
聚合o--整体 o-- 部分空心菱形+实线(整体与部分)
组合*--整体 *-- 部分实心菱形+实线(强所属关系)
依赖..>..|>类A ..> 类B虚线箭头(临时使用关系)

在这里插入图片描述
在这里插入图片描述

注释

PS:下方示例中的classname表示类名

1、关系注释

classname1 --> classname2 : 注释信息

2、类注释

note for classname "类注释信息"

3、忽略型注释

可以在类图中输入注释,解析器将忽略这些注释。注释需要位于它们自己的行上,并且必须以 %%(双百分号)为前缀。直到下一行之前的任何文本都将被视为注释,包括任何类图语法。

其他常用语法

  • 设置图将呈现的方向:direction RL,RL左右,TM上下(默认TM)
  • 类关系的多重性:classname2 "1" --> "n" classname1,表示类2和类1是1对n的关系
  • 可以使用 note "line1\nline2" 在图上添加备注
  • PS:还有其他设置样式、交互的语法,有兴趣可以阅读官方文档

综合示例

PS:仅做综合示例,不考虑类之间关系的设计规范
在这里插入图片描述

完整代码

classDiagram
    direction TM
    class 父类A {
        +公有属性: 类型
        #保护属性: 具体类D
        +公有方法(参数) 返回值类型
    }
    note "PS:仅做综合示例,不考虑类之间关系的设计规范"
    class 子类B {
        -私有属性: 类型
        +重写父类方法(参数) 返回值类型
        -私有方法()
    }
    父类A <|-- 子类B : 泛化(类2继承类1)
    
    class 抽象类C {
        <<abstract>>
        +抽象方法(参数) 返回值类型*
    }
    class 具体类D{
        +实现抽象方法(参数) 返回值类型
    }
    抽象类C <|-- 具体类D:实现接口
    
    父类A --> 具体类D: 单向关联
    
    class 类E {
      +属性:类F=None
      +属性:类G的实例列表=[]
    }
    class 类F {
      +属性:类E=None
      +属性:测试类H的实例
      +属性:[子类B的实例1,子类B的实例...]
    }
    class 类G {
      +方法(instance_F:类F)
    }
    类E <--> 类F : 双向关联
    类G ..> 类F : 依赖
    类E o-- 类G : 聚合(弱拥有)
    类F "1" *-- "1..n" 子类B : 组合(拥有>)
    
    class 测试类H
    类F *-- 测试类H : 组合(包含>)

了解更多,请前往官方文档

其他工具:plantuml

还有其他工具也比较常用来画类图,比如:plantuml,语法类似,功能更多
在线画图

简单示例

在这里插入图片描述

语法

元素声明:
在这里插入图片描述
类关系简单示例:
在这里插入图片描述

在这里插入图片描述
了解更多plantuml语法,可查看官方文档

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值