移动 前端 Python Android JavaAndroid代码封装

android studio使用 plantUML插件绘制UML

2018-07-12  本文已影响0人  妖怪青同学

android studio使用plantUML插件绘制UML类图

未安装Graphviz


未安装Graphviz

Graphviz介绍
DOT语言介绍

开始标签 -> @startuml

结束标签 -> @enduml

注释 -> `

1.类与类关系

'开始
@startuml

'可以使用 left right up down 定义方向


'01.依赖
A..>B :虚线依赖,\n代码中体现为\nA引用到B

'02 关联
Student --> Teacher :实线关联单向

'03.实现
'实现写法1
class MyXListener implements XListener{
}
'实现写法2
XListener02 "注释01" <|.. "注释02" MyXListener02 :实现


'04. 继承
'继成写法
Class ExClass01 extends MyXListener{
}
'继承写法02
MyXListener02<|--  ExClass02 :继承

'05.聚合
班级 o-- 学生 :聚合成班级

'06.组合
车 *-left-  底盘 : 组合
车 *-up-  车身 : 组合
车 *-down-  发动机 : 组合

'结束
@enduml

01.类与类关系.png

02.枚举注解


'开始
@startuml

enum 枚举颜色{
红
黄
绿
}

annotation 注解
@enduml

02.枚举注解.png

03.方法变量和权限修饰符

'开始
@startuml
'用于控制显示权限修饰符icon
'skinparam classAttributeIconSize 0

'一 实现
'实现写法1
class MyXListener implements XListener{
+  public成员
-  private成员
#  protected成员
~  package成员

+  public方法()
-  private方法()
#  {static} protected静态方法()
~ {abstract}  抽象package方法()
}
'实现写法2
XListener02 "注释01" <|.. "注释02" MyXListener02 :注释03
'权限修饰符
MyXListener02 : +  public成员
MyXListener02 : -  private成员
MyXListener02 : #  protected成员
MyXListener02 : ~  package成员
'MyXListener02 : +  public方法()
MyXListener02 : -  private方法()
MyXListener02 : #  protected方法()
MyXListener02 : ~  package方法()


'二 继承
'继成写法
Class ExClass01 extends MyXListener{
}
'继承写法02
MyXListener02<|--  ExClass02


note "自定义分割线" as ss
ss..ClassA
class ClassA{
+ 成员一
+ 成员二
+ 成员三
'实线分割线
==
 - 方法一 ()
 - 方法二 ()
 - 方法三 ()
'虚线分割线
..
 - 方法四 ()
 - 方法五 ()
 - 方法五 ()
 - 方法五 ()
.. 虚线 ..
-- 单实线 --
== 双实线 ==

 - 方法五 ()
 - 方法五 ()
 - 方法五 ()
}


'结束
@enduml

03.方法变量和权限修饰符.png

04.注释添加

'开始
@startuml

note " 注释在下" as note01
note " 注释在上" as note02

'注释在上
note02 .. O

'注释在下
O .. note01
note "note 悬浮不指向任何类" as note的名字

@enduml

04.注释添加.png

05.文件包

@startuml

'文件夹类型 Folder Node Rectangle DataBase Cloud Cloud
package xxx.xxx.folder <<Folder>> {
class A
class B
class C
class D
}
package xxx.xxx.node <<Node>> {
class A1
class B1
class C1
class D1
}
package xxx.xxx.rectangle <<Rectangle>> {
class A2
class B2
class C2
class D2
}
package xxx.xxx.database <<DataBase>> {
class A3
class B3
class C3
class D3
}

'包关联
xxx.xxx.database +--- xxx.xxx.folder : 关联
xxx.xxx.database ... xxx.xxx.folder : 关联


@enduml

05.文件包.png

详细教程
在线绘制

git demo

上一篇下一篇

猜你喜欢

热点阅读