使用mermaid画类图

article/2025/10/21 2:49:03

使用mermaid画类图

文章目录

  • 使用mermaid画类图
    • 1.类与类之间的关系
    • 2.各种关系的强弱顺序

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" 翅膀 :组合
唐老鸭 ..|>讲话
大雁 ..|> 飞翔

http://chatgpt.dhexx.cn/article/9GIPJwC7.shtml

相关文章

UML类图

一、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。 那么属性/方法名称前加的加号…

EA enterprise architect 画类图

准备工作 新建文件,参考画用例图的新建文件 画类图 以此为例 画类 工具箱,选中calss->class拖拽到左侧,填写类名 右键点击创建的类,选择功能与属性。属性类似于变量,功能类似于函数。为类添加属性和功能。 …

使用PlantUml插件画类图

一、PlantUml简介二、类与类之间关系汇总整理三、PlantUml类图语法介绍四、类图五、类图 PlantUml 代码 本文介绍如何使用 PlantUml 插件来画 Uml 图 一、PlantUml简介 PlantUML 是一个可以快速编写各种图表的工具,可以通过安装 Intellij Idea 或者 Vs Code 插件来…

UML类图画法全程解析

本节向大家介绍一下UML类图画法,主要包括UML类图元素和关系画法,希望通过本文的介绍,你对UML类图画法有一定的认识。 软件设计起步:UML类图画法 学习设计模式,画UML类图是基础,通过UML类图,能…

使用StarUML画类图

原文链接:http://www.flyne.org/article/379 staruml比rational rose小多了,觉得也很实用,似乎免费 1、综述(What) StarUML是一种生成类图和其他类型的UML图表的工具。本文是一个使用StarUML创建类图(Java语言描述)的简…

IDEA画UML类图

第一步(IDEA下载画图插件) PlantUML Integration 插件可以支持画图 第二步(创建类图文件) 点击之后会让选择 选择class即可 类图的语法 在画类图的时候分为五种 1. 依赖 依赖分为好多种, 作为成员变量,作为方法的入参和出参,在类中使用…

C++ 类图 Astah画类图

类图 基本概念: 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。 类图的3个基本组件: 类…

画java类图_java UML类图的使用

类图 是用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。学习好类图的绘制,是一位合格的软件工程师应有的技能。 1.类的UML图示 在UML中,类使用包含类名,属性和方法且带有…

【系统架构】类图的画图规范

最后一弹&#xff0c;放在了类图上面&#xff0c;这也是需要引起注意的最重要的地方。 格式 接口 抽象类 类 注意&#xff1a; 1、接口一定有 <> 的标识&#xff0c;接口中的方法必须斜体&#xff08;默认都是抽象方法&#xff09; 2、抽象类名和抽象方法必须斜体…

java怎么画类图_UML类图基本画法

类 简要画法 类有三个单元格的矩形(看上图中的动物类) 第一格:类名称(如果是抽象类,名称标注为斜体字) 第二格:类属性名称 第三格:类操作名称 类属性或者操作的访问修改符的标注: public用加号标注 private用减号标注 protected用#号标注 接口 简要画法 接口有两个单元格的…

如何画UML类图

简单介绍 统一建模语言&#xff08;Unified Modeling Language&#xff0c;UML&#xff09;是用来设计软件蓝图的可视化建模语言&#xff0c;面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 类、接口、类图 类 类&#…

visio uml 画java类图_用visio画UML类图

对于画类图的工具很多&#xff0c;曾经学过用starUML画类图&#xff0c;但这个是用于Java语言的&#xff0c;对于用vs编程C语言&#xff0c;个人感觉用visio会好一点。以下用以前面的俄罗斯方块游戏中的一个Block类为例来讲述 class Block { public: Block(void); void Init();…

【系统架构】类图怎么画

文章目录 类图是什么&#xff1f;类图组成元素类图六大关系强弱关系&#xff1a;依赖<关联<聚合<组合<实现<继承 类图是什么&#xff1f; 类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。它是构建其他设计模型的基础&#xf…

PowerDesigner 画类图

PowerDesigner 画类图&#xff1a; 目录 1&#xff0c;建立class的Model 2&#xff0c;UML基础 类 接口&#xff1a; 关系 1, 泛化 generalization 用空心三角形实线来表示 2, 实现 Realization用空心三角形 虚线 来表示 3, 关联 Association用实线箭头来表示   …

EA画类图

EA画类图 演示所使用软件版本&#xff1a; 1 准备工作 1.1 新建工程 新建工程时取个工程名字然后确定&#xff0c; 之后会进入这个界面&#xff0c;选择Class&#xff0c;并确定&#xff1a; 展开Model&#xff0c;再展开Class Model&#xff0c;点击下方Class Model&…

php类图怎么画,类图怎么画?

类图怎么画&#xff1f; 步骤&#xff1a; 1、打开visio画图软件&#xff0c;在左边的导航中选择“软件”选项&#xff0c;在右边会有很多图&#xff0c;我们会看到UML图&#xff0c;点击选择进入。 2、我们会进入画图的界面&#xff0c;在上面导航区有个百分比的选项&#xff…

StarUML画类图

一. 前言 工作中&#xff0c;在写文档总结时&#xff0c;需要画类图&#xff0c;有助于理清楚类之间的调用关系和内部组成, Ubuntu下推荐使用StarUML 来画, 如果不知道这个工具&#xff0c;请参考笔者这篇文章下载安装&#xff1a; Ubuntu StarUML安装教程 当然StarUML这个…

类图到底该如何画

什么是类图&#xff1f; 要学习如何画类图的话那么我们首先要明确一下什么是类图&#xff1f; 顾名思义&#xff0c;类图是显示了模型的静态结构&#xff0c;特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要…

通俗易懂教你画类图

1. 类图 1.1类的内容 第一层&#xff1a;类的名称&#xff0c;如果是抽象类&#xff0c;则就用斜体显示。 第二层&#xff1a;字段和属性。 第三层&#xff1a;方法。 前面的符号&#xff1a; “” 表示public&#xff1b;"-“ 表示private&#xff1b;"#"…

UML详解(1):类的关系与如何绘制类图

作为一个程序员&#xff0c;我们经常会使用UML来绘制各种图&#xff0c;类图就是其中常用之一。对于初学者来讲&#xff0c;如何读懂类图可能是一件有些困惑的事情&#xff0c;这里通过逐步梳理&#xff0c;帮助你详细了解类的关系&#xff0c;以及以后如何绘制类图。 1.0 定义…