plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册title PlantUML 参考手册 date 2020 03 0315 37 35tags UML 手册 categories 手册 UMLPlantUML 参考手册前言 UML 中的关系主要分为六种 关联 association 聚合 aggregation 组合 composition 依赖 dependency 使用泛化 generalizati 继承 inheritanc

title: PlantUML参考手册

date: 2020-03-03 15:37:35

tags:

– UML

– 手册

categories:

– 手册

– UML

PlantUML参考手册

前言

UML中的关系主要分为六种:

关联(association)

聚合(aggregation)

组合(composition)

依赖(dependency)/使用

泛化(generalization)/继承(inheritance)

实现(realization)

关系

PlantUML中的表示方法

样式

依赖关系

plantuml 依赖_PlantUML参考手册

关联关系

plantuml 依赖_PlantUML参考手册

聚合关系

o–

plantuml 依赖_PlantUML参考手册

组合关系

*–

plantuml 依赖_PlantUML参考手册

实现关系

plantuml 依赖_PlantUML参考手册

泛化/继承关系

plantuml 依赖_PlantUML参考手册

依赖关系

简单理解就是在某个方法里通过传参、返回值、成员变量、局部变量的方式用到了某个类

Java表达方式

class ImageLoader{

loadImage(ImageInfo info)

}

class ImageInfo{

}

UML类图表达方式

使用UML类图表示该关系:用实心箭头+虚线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

//ImageLoader 依赖/使用

PlantUML中的表示方法:ImageInfo

关联关系

简单理解就是类里面作为属性引用了另一个类

Java表达方式

class Window {

public WindowManager mWindowManager

}

class WindowManager{

}

UML类图表达方式

使用UML类图表示该关系:用实心箭头+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:WindowManager

聚合关系

​表示整体和部分,一个类属性使用列表保存很多个另一个类对象(可通过List、set、数组等等集合)

Java表达方式

class Company{

List mDepartments

}

class Department{

}

UML类图表达方式

使用UML类图表示该关系:用空心菱形+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Company o– Department:聚合关系

组合关系

相比聚合更加紧密的关系,生死与共,不能单独存在

Java表达方式

class Bird{//小鸟

Wing mWing;//翅膀

}

class Wing{//翅膀

}

UML类图表达方式

使用UML类图表示该关系:用实心菱形+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Bird *– Wing:组合关系

泛化/继承关系

用来表示类之间的继承关系

Java表达方式

abstract class Factory{

abstract makeProduct()

}

class PhoneFactory extends Factory{

}

class CarFactory extends Factory{

}

UML类图表达方式

使用UML类图表示该关系:用空心箭头+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Factory

实现关系

用来表示一个类实现某个一个接口

Java表达方式

interface IColorDraw{

draw()

}

class RedColorDraw{

draw()

}

class BlueColorDraw{

draw()

}

UML类图表达方式

使用UML类图表示该关系:用空心箭头+虚线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:IColorDraw

完整的PlantUML表示

UML类图

plantuml 依赖_PlantUML参考手册

PlantUML代码

@startuml

class ImageLoader{

loadImage(ImageInfo)

}

class ImageInfo{

}

ImageInfo <.. imageloader :>

class Window {

-WindowManager mWindowManager

}

class WindowManager

WindowManager

class Company

class Department

Company o– Department:聚合关系

class Bird

class Wing

Bird *– Wing:组合关系

abstract class Factory

class PhoneFactory

class CarFactory

Factory

Factory

interface IColorDraw{

draw()

}

class RedColorDraw{

draw()

}

class BlueColorDraw{

draw()

}

IColorDraw

IColorDraw

@enduml

关系上的标识

在关系之间使用标签来说明时, 使用 :后接 标签文择本地图片字。对元素的说明,你可以在每一边使用 “” 来说明.

plantuml 依赖_PlantUML参考手册

@startuml

Class01 “1” *– “many” Class02 : contains

Class03 o– Class04 : aggregation

Class05 –> “1” Class06

@enduml

在标签的开始或结束位置添加< 或 >以表明是哪个对象作用到哪个对象上。

plantuml 依赖_PlantUML参考手册

@startuml

class Car

Driver – Car : drives >

Car *- Wheel : have 4 >

Car — Person : < owns

@enduml

定义可访问性

一旦你定义了域或者方法,你可以定义 相应条目的可访问性质。

表示方式

描述属性时的样式

描述方法时的样式

代表的访问标识符

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

private

#

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

protected

~

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

package private

+

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

public

例:

plantuml 依赖_PlantUML参考手册

@startuml

class Dummy {

-field1

#field2

~method1()

+method2()

}

@enduml

抽象与静态

通过修饰符{static}或者{abstract},可以定义静态或者抽象的方法或者属性。这些修饰符可以写在行的开始或者结束。也可以使用{classifier}这个修饰符来代替{static}.

plantuml 依赖_PlantUML参考手册

@startuml

class Dummy {

{static} String id

{abstract} void methods()

}

@enduml

备注和模板

模板通过类关键字(“<>”)来定义你可以使用note left of , note right of , note top of , note bottom of这些关键字来添加备注。你还可以在类的声明末尾使用note left, note right,note top, note bottom来添加备注。此外,单独用note这个关键字也是可以的,使用 .. 符号可以作出一条连接它与其它对象的虚线。

plantuml 依赖_PlantUML参考手册

@startuml

class Object << general >> /'<>’/

Object

/’方式1:note top of 名称 : 内容….’/

note top of Object : In java, every class\nextends this one.

/’声明一个备注格式:

note “内容” as 备注名称

‘/

note “This is a floating note” as N1

note “This note is connected\nto several objects.” as N2

/’方式2:名称 .. 备注名称’/

Object .. N2

N2 .. ArrayList

/’方式3: 在声明类下一行用 note left: 内容….

left 表示标签显示在左侧

right 表示显示在右侧

‘/

class Foo

note left: On last defined class

@enduml

抽象类和接口

用关键字abstract或abstract class来定义抽象类。抽象类用斜体显示。 也可以使用interface, annotation 和 enum关键字。

plantuml 依赖_PlantUML参考手册

@startuml

abstract class AbstractList /’定义抽象类’/

abstract AbstractCollection

interface List /’定义接口’/

interface Collection

List

Collection

Collection

AbstractCollection

AbstractList

class ArrayList {

Object[] elementData

size()

}

/’定义枚举’/

enum TimeUnit {

DAYS

HOURS

MINUTES

}

annotation SuppressWarnings

@enduml

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231709.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月25日 下午8:01
下一篇 2025年11月25日 下午8:22


相关推荐

  • 初识行为识别

    初识行为识别随着互联网的不断发展,各种应用的不断推广。数据无论从存储,格式,形式,类型等方面都趋向于多样化,丰富化,指数化。数据就是价值,为何这么说呢?在机器学习,深度学习推动下,训练数据需求很大。对于分类模型,训练数据越多,分类器的准确度会在一定程度上更精确。行为识别可以说就是在这基础上演变出来的一个研究分支。那么什么是行为识别呢?我的理解是这样的,比如对于某个图片或者视频中的某个信息进行捕获,我们可以使用…

    2022年6月21日
    27
  • matlab怎么输出dxf格式文件,matlab创建DXF文件

    matlab怎么输出dxf格式文件,matlab创建DXF文件DXFLibDXFLib AutocadDXFis relatedappli AutoCADDXFc

    2025年8月22日
    5
  • Java 并发编程中的死锁 ( Kotlin 语言讲解)

    Java 并发编程中的死锁 ( Kotlin 语言讲解)什么是死锁?在操作系统中的并发处理场景中,进程对资源的持有与请求过程中,会产生死锁.Say,ProcessAhasresourceR1,ProcessBhasresourceR2.IfProcessArequestresourceR2andProcessBrequestsresourceR1,atthesametime,thend…

    2022年7月16日
    17
  • python数据结构与算法40题_Python数据结构与算法40:递归编程练习题3:ASCII谢尔宾斯基地毯…

    python数据结构与算法40题_Python数据结构与算法40:递归编程练习题3:ASCII谢尔宾斯基地毯…注 本文如涉及到代码 均经过 Python3 7 实际运行检验 保证其严谨性 本文阅读时间约为 7 分钟 递归编程练习题 3 ASCII 谢尔宾斯基地毯谢尔宾斯基地毯谢尔宾斯基地毯是形如上图的正方形分形图案 每个地毯可分为等大小的 9 份 其中中央挖空 其余均由更小的地毯组成 现给定地毯大小 行数 与组成地毯的字符元素 请打印相应的地毯图形 注 空腔以半角空格表示 当给定字符元素长度不为 1 时空格数须与字符长度对

    2026年3月17日
    2
  • vue怎么关闭eslint_如何关闭eslint

    vue怎么关闭eslint_如何关闭eslint@[TOC]VUE关闭eslint严格模式VUE关闭eslint严格模式如果在使用vue@cli搭建vue工程时,不小心选择了eslint严格校验模式,对于开发人员调试代码是很麻烦的事,那么如何关掉eslint严格模式呢?1.在package.json文件下找到eslint配置”eslintConfig”:{“root”:true,”env”:{“node”:true},”extends”:[“plugin:vu

    2022年10月8日
    4
  • 斯密特触发器

    斯密特触发器斯密特触发器又称斯密特与非门 是具有滞后特性的数字传输门 电路具有两个阈值电压 分别称为正向阈值电压和负向阈值电压 与双稳态触发器和单稳态触发器不同 施密特触发器属于 电平触发 型电路 不依赖于边沿陡峭的脉冲 nbsp 它是一种阈值开关电路 具有突变输入 输出特性的门电路 这种电路被设计成阻止输入电压出现微小变化 低于某一阈值 而引起的输出电压的改变 nbsp 当输入电压由低向高增加 到达 V 时 输出电

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号