使用PlantUml插件画类图

article/2025/10/21 5:27:02
  • 一、PlantUml简介
  • 二、类与类之间关系汇总整理
  • 三、PlantUml类图语法介绍
  • 四、类图
  • 五、类图 PlantUml 代码

本文介绍如何使用 PlantUml 插件来画 Uml 图

一、PlantUml简介

PlantUML 是一个可以快速编写各种图表的工具,可以通过安装 Intellij Idea 或者 Vs Code 插件来画图,也可以在线编辑,链接为:

https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

类图示例文档链接为:

https://plantuml.com/zh/class-diagram

动动发财小手,关注 + 点赞 + 收藏不迷路。

二、类与类之间关系汇总整理

  1. 依赖关系(Dependency)

单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系

如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等

局部变量

public class Animal {public void drink() {Water water = new Water();//局部变量....}
}

方法参数

public class Animal {public void drink(Water water) {//方法参数....}
}

静态方法调用

public class Animal {public void drink() {Water.drink();//静态方法调用....}
}
  1. 关联关系(Association)

单向或双向(通常我们需要避免使用双向关联关系),是一种"has a"关系,如果A单向关联B,则可以说A has a B,通常表现为全局变量。

单向关联:

public class Person {public Phone phone;public void setPhone(Phone phone) {this.phone = phone;}public Phone getPhone() {return phone;}
}

双向关联:

public class Man {public Women women;public void setWomen(Women women) {this.women = women;}public Women getWomen() {return women;}
}public class Women {public Man man;public void setMan(Man man) {this.man = man;}public Man getMan() {return man;}
}
  1. 聚合关系(Aggregation)、组合关系(Composition)

这两个关系我们放在一起,因为他们看似十分的相似,但是却有着本质的区别。

聚合

不同的工种聚合在一起变成了施工人员,施工人员包含工程师、电工、木工等,是整体和个体之间的关系,即 has-a 的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期。即施工人员可以不存在,但是工程师仍然存在。

public class Builders {public Engineer engineer;public void setEngineer(Engineer engineer) {this.engineer = engineer;}public Engineer getEngineer() {return engineer;}
}

组合

电脑由cpu、内存、硬盘组合而成,虽然组合和聚合我们都说“有”什么,但是这个“有”是不同的,他体现的是一种 contains-a 的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如cpu坏了,电脑也就无法使用。

public class Computer {public Cpu cpu;public void setCpu(Cpu cpu) {this.cpu = cpu;}public Cpu getCpu() {return cpu;}
}
  1. 继承关系(extends)

类继承抽象类,子类继承父类都属于这种关系

public class Child extends Father {
}
  1. 实现关系(implements)

类实现接口

public class MyRunnable implements Runnable {@Overridepublic void run() {}
}

三、PlantUml类图语法介绍

  1. 类属性字段以及方法访问权限映射关系**
符号访问权限
-private
#protected
~package private
+public
  1. 依赖

Water <… Animal : 依赖

  1. 关联

Phone <-- Person : 关联

  1. 双向关联

Man <–> Women : 双向关联

  1. 聚合

Engineer <–o Builders : 聚合

  1. 组合

Cpu <–* Computer : 组合

  1. 继承

Father <|-- Child : 继承

  1. 实现

Runnable <|… MyRunnable : implements

  1. 其他

箭头方向可以在左边,也可以在右边。
–表示纵向的实线,-表示横向的实线。
…表示纵向的虚线,-表示横向的虚线。
在符号两侧可以用""来添加对元素的说明。
在关系末尾可以用:来添加对关系的说明。

四、类图

类图如下:

在这里插入图片描述

五、类图 PlantUml 代码

plantuml 代码如下:

@startuml
scale 300 widthtitle 类图关系示例演示class Water {
+static void drink()
}class Animal {
}class Phone {
}class Person {
}class Man {
}class Women {
}class Engineer {
}class Builders {
}class Cpu {
}class Computer {
}class Father {
}class Child {
}interface Runnable {
+run()
}class MyRunnable {
+run()
}Water <.. Animal : 依赖
Phone <-- Person : 关联
Man "1" <--> "1" Women : 双向关联
Engineer <--o Builders : 聚合
Cpu <--* Computer : 组合
Father <|-- Child : 继承
Runnable <|.. MyRunnable : implements
@enduml

引用:
1.https://blog.csdn.net/qq_28379809/article/details/79499577
2.https://www.cnblogs.com/jisijie/p/5062109.html
3.https://cloud.tencent.com/developer/article/1932863


http://chatgpt.dhexx.cn/article/pCfa5GG0.shtml

相关文章

UML类图画法全程解析

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

使用StarUML画类图

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

IDEA画UML类图

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

C++ 类图 Astah画类图

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

画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 定义…

保姆级教程--类图怎么画

类图怎么画 类与类之间的关系 类和类之间存在着六种关系 由弱到强分别是 依赖<关联<聚合<组合<实现继承 相对应的 每一种类的关系在类图里面都有一种画法来表示 首先是依赖 这是一种什么关系呢 就好像人使用用计算机一样 在人这个类里面用到了计算机 那么 我们就…

[UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一

统一建模语言(Unified Modeling Language&#xff0c;UML) 可分类成&#xff1a; 功能模型&#xff1a;从用户的角度展示系统的功能&#xff0c;包括用例图。对象模型&#xff1a;采用对象&#xff0c;属性&#xff0c;操作&#xff0c;关联等概念展示系统的结构和基础&#…

【OS学习笔记】七 Bochs的下载、安装和配置

参考&#xff1a;《X86汇编语言-从实模式到保护模式》-李忠。纯学习笔记&#xff0c;更详细内容请阅读正版书籍。 1 开源的BOCHS虚拟机软件 Bochs是开源软件。它用软件来模拟处理器取指令和执行指令的过程&#xff0c;以及整个计算机硬件。当它开始运行时&#xff0c;就直接模…