使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM