PlantUML绘制类图

系列文章目录

PlantUML绘制活动图https://blog.csdn.net/zhangwei_david/article/details/125507374

PlantUML 绘制时序图https://blog.csdn.net/zhangwei_david/article/details/125451459


目录

系列文章目录

前言

二、使用PlantUML绘制类图

1.类

1.1类名

1.2 类的属性与方法 

1.3可访问性

 1.4 静态与抽象

2.类之间的关系

2.1一般泛化关系

2.2关联关系

2.3聚合关系

2.4合成关系 

2.5类与包

三、颜色和样式 

3.1 关系的颜色和样式

3.2类的颜色和样式


前言

类图是描述类、接口以及它们之间的静态关系图;本文主要介绍如何使用PlantUML 绘制类图


一、描述类的类图

一个类图可以分为以下几个部分

  1. 类名,在名中可以区分抽象类,接口,注解等
  2. 属性,一个属性可以是public,protected或provide
  3. 方法,一个方法同属性一样,它可以是public ,protected或provide

二、使用PlantUML绘制类图

1.类

1.1类名

说明语法图示
class className
抽象类

abstract className

abstract class "className"

接口interface interfaceName
实体entity  entityName
枚举enum enumName
注解annotation  annotationName
结构struct  structName
协议protocol protocalName
圆形cicrle cicleName / () cicleName
菱形diamond diamondName / <> diamondName

1.2 类的属性与方法 

   在PlantUML 中要声明一个类的属性和方法,可以使用符号":",后面跟属性名或方法名称

@startuml
Object:equals()

@enduml

对于复杂的属性与方法可以在{ }定义所有属性与方法

@startuml

class Dummy{
String data
void methods()
}
@enduml

 

1.3可访问性

在定义属性与方法时,可以使用特殊符号定义相应属性或方法的可访问性值

字符图标(属性)图标(方法)可访问性
-

private 私有
#

protected 受保护
~

package private 包内可见
+

public 公有

 1.4 静态与抽象

在定义属性与方法时候,有可能需要定义静态属性或静态方法以及抽象方法,在PlantUML 中可以通过{static}, {abstract}来定义。

@startuml
class Dummy {
  {static} String id
  {abstract} void methods()
}
@enduml

2.类之间的关系

    首先看一下PlantUML 中对于类之间关系的语法

关系类型符号绘图
泛化关系<|--

关联关系--         ——
合成关系*--

聚合关系o--

继承extends
class ArrayList implements List
实现implements
class ArrayList extends AbstractList

2.1一般泛化关系

一般泛化关系表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现。一般泛化关系是从子类指向父类或从实现类指向被实现的接口。

2.2关联关系

关联关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。每一个关联的断点还可以有一个基数,表明这一端的类可以有几个实例。在PlantUML 中使用“”来说明每端的基数;常见的基数有:

基数含义
0..1零个或1个实例类1 "1"  *-- "1..*" 类2
 0..* 或 *零个或多个
1只有一个实例
1..*至少1个实例

2.3聚合关系

聚合关系是关联关系的一种,是强关联关系。聚合是整体与个体之间的关系。比如汽车与发送机和轮子之间的关系就是整体与个体之间的关系,一辆汽车是由一个发动机和四个轮子组成的,它们之间的类图如下:


2.4合成关系 

和成关系也是关联关系的一种,是比聚合关系更强的一种关系。代表整体关系要负责保持部分对象的存活,部分关系必须依赖于整体;比如猴子与四肢之间的关系就是合成关系,四肢不能脱离猴子独立存在。

2.5类与包

可以通过关键字 package声明包,在包中声明类

@startuml
package "Classic Collections" #DDDDDD {
  Object <|-- ArrayList
}
@enduml

三、颜色和样式 

如果想绘制一个美观的类图,我们还需要调整颜色和样式,下面就介绍PlantUML 颜色和样式如何设置

3.1 关系的颜色和样式

改变表示关系的线和箭头的颜色或样式,使用下面的单行样式格式:

#color;line.[bold|dashed|dotted];text:color

示例:

@startuml
class foo类
foo类 --> bar类 : 默认
foo类 --> bar类1 #line:red;line.bold;text:red  : 红色粗线
foo类 --> bar类2 #green;line.dashed;text:green : 绿色断线
foo类 --> bar类3 #blue;line.dotted;text:blue   : 蓝色点线
@enduml

3.2类的颜色和样式

改变类的颜色和样式,可以使用下面方式:

  1. #color ##[style]color
  2. #[color|background:color];header:color;line:color;line.[bold|dashed|dotted];text:color

示例1:

@startuml
abstract   抽象类
annotation 注解     #pink ##[bold]red
class      类      #palegreen ##[dashed]green
interface  接口    #aliceblue ##[dotted]blue
@enduml

示例2:

@startuml
abstract   抽象类
annotation 注解     #pink;line:red;line.bold;text:red
class      类      #palegreen;line:green;line.dashed;text:green
interface  接口    #aliceblue;line:blue;line.dotted;text:blue
@enduml

 

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈脩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值