使用mermaid画类图

本文介绍了如何使用Mermaid语言来绘制类图,包括泛化、实现、关联、聚合、组合和依赖六种关系,并提供了相应的Mermaid语法示例。文章还探讨了这些关系的强弱顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用mermaid画类图

1.类与类之间的关系

mermaid类图关系语法
在这里插入图片描述

  • 泛化(Inheritance)
    • 一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
    • 箭头指向:带三角箭头的实线子类指向父类
    • mermaid语法: A --|> B
Dog子类 Animal父类 继承Inheritance
  • 实现(Realization)
    • 一种类与接口的关系,表示类是接口所有特征和行为的实现.
    • 箭头指向:带三角箭头的虚线箭头指向接口
    • mermaid语法:A ..|> B
UserDaoImpl接口实现类类 UserDao接口 实现Realization
  • 关联(Association)
    • 是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的
    • 双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头
    • 代码体现:成员变量
    • 箭头指向:带普通箭头的实线拥有者指向被拥有者
    • mermaid语法:A "1" --> "n" B
Teacher Stu Student Course alone 关联Association n n 关联Association 1 n 关联Association 1 1
  • 聚合(Aggregation)
    • 整体与部分的关系,且部分可以离开整体而单独存在,如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在.
    • 聚合关系是关联关系的一种,是强关联;关联和聚合在语法上无法区分,必须考察具体的逻辑关系
    • 代码体现:成员变量
    • 箭头指向:带空心菱形的实心线菱形指向整体.
    • mermaid语法:A o-- B
Car 引擎 轮胎 1 1 1 4
  • 组合(Composition)
    • 是整体与部分的关系,但部分不能离开整体而单独存在.如公司和部门是整体和部分的关系,没有公司就不存在部门。
    • 组合关系是关联关系的一种,是比聚合关系还要强的关系.最强的关联关系
    • 要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
    • 代码体现:成员变量
    • 箭头指向:带实心菱形的实线菱形指向整体
    • mermaid语法:A "1" *-- "n" B
公司 部门 1 n
  • 依赖(Dependency)
    • 是一种使用的关系,即一个类的实现需要另一个类的协助
    • 要尽量不使用双向的互相依赖
    • 代码体现:局部变量、方法的参数或者对静态方法的调用
    • 箭头指向:带箭头的虚线指向被使用者
    • mermaid语法:A ..> B
人类 计算机 UserService UserDao

2.各种关系的强弱顺序

泛化(类与继承关系) = 实现(类与接口关系) >
组合(整体与部分的关系) > 聚合(整体与部分的关系) > 关联(拥有的关系) >
依赖(使用的关系)

在这里插入图片描述
mermaid实现上述关系:

动物 +声明 +新陈代谢() +繁殖() +羽毛 +下蛋() 鸭子 +下蛋() 大雁 +下蛋() +飞() 企鹅 +下蛋() 雁群 唐老鸭 气候 翅膀 氧气 飞翔 讲话 依赖 依赖 聚合 1 n 关联 组合 1 2
%%下面是mermaid代码:

classDiagram
class 动物{
+声明
+新陈代谢()
+繁殖()
}
class 鸟{
+羽毛
+下蛋()
}
class 鸭子{
+下蛋()
}
class 大雁{
+下蛋()
+飞()
}
class 企鹅{
+下蛋()
}
class 雁群
class 唐老鸭
class 气候
class 翅膀
class 氧气
class 水
class 飞翔
class 讲话

动物 ..> 氧气 :依赖
动物 ..> 水 :依赖
鸟 --|> 动物
大雁 --|>鸟
鸭子 --|>鸟
企鹅 --|>鸟
唐老鸭 --|>鸭子
雁群 "1" o-- "n" 大雁 :聚合
企鹅 --> 气候 :关联
鸟 "1" *-- "2" 翅膀 :组合
唐老鸭 ..|>讲话
大雁 ..|> 飞翔
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值