使用PlantUML画类图

主页:https://plantuml.com/

PlantUML是一个UML的工具,使用类似HTML的标记性语言,编写代码自动生成UML图。它会自动排版成完美的样式,并且功能很完善,本文主要简单介绍画简单的类图。

1. 使用准备

1.1 示例

PlantUML提供了在线服务。下面是一个简单示例:

@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml

效果:
示例效果

1.2 安装

官方指南是给出plantuml.jar,在命令行中执行。不过,PlantUML有跟多插件,本文都是在IDEA中使用的。

  • Java
  • Graphviz
  • IDEA插件:PlantUML integration

2. 使用PlautUML画类图

官方的类图使用文档已经很清晰、详细,不做过多介绍。

关于UML类图与类的关系不了解的,可以参考文章,这篇文章中的图真的很棒。

3. 示例效果

按照第2节的博文画了一个类似的类图,先看效果:

代码:

@startuml
动物 ..> 空气 : 依赖
动物 ..> 水
鸟 --|> 动物 : 继承
大雁 ..|> 飞翔 : 实现接口
大雁 --|> 鸟
大雁 "n" --o "1" 雁群 : 聚合
鸭 --|> 鸟
唐老鸭 -- 鸭
翅膀 --* 鸟 : 组合 >
企鹅 --> 气候 : 单向关联
企鹅 --|> 鸟

class 动物 {
    - {static}有生命
    # 重量
    + 年龄
    + {abstract}新陈代谢(空气 水)
    + 繁殖()
    + 繁殖(变量1)
}

note right: 动物的注释

note left of 动物::重量
    动物的重量的注释
end note

note left of 动物::"繁殖()"
    同名方法的注释
end note

note right of 动物::"繁殖(变量1)"
    同名方法的注释
end note

class 空气

class 水

class 鸟 {
    + 翅膀
    + 下蛋()
}

class 翅膀 {

}

interface 飞翔 {
    + 飞()
}

class 大雁 {
    + 下蛋()
    + 飞翔()
}

note top of 大雁
    大雁的注释
end note

class 雁群 {
    + V型飞行()
    + 一型飞行()
}

class 鸭 {
    + 下蛋()
}

class 唐老鸭 {
    - 讲话()
    # 走路()
}

class 企鹅 {
    + 下蛋()
}

enum 气候 {
}

note as N1
    这是一个注释,可以像Markdown一样贴图和
    HTML一样<u>下划线</u>
end note
@enduml
posted @   chamomilenc  阅读(2369)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示