一:学习PlantUML类图绘制方法
类之间的关系:Extension、Composition、Aggregation
使用..
来代替 --
可以得到点 线.
在这些规则下,也可以绘制下列图形
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
@startuml
Class11 <|.. Class12
Class13 --> Class14
Class15 ..> Class16
Class17 ..|> Class18
Class19 <--* Class20
@enduml
@startuml
Class21 #-- Class22
Class23 x-- Class24
Class25 }-- Class26
Class27 +-- Class28
Class29 ^-- Class30
@enduml
关系上的标识
在关系之间使用标签来说明时, 使用 :
后接 标签文字。
对元素的说明,你可以在每一边使用 ""
来说明.
@startuml
Class01 "1" *-- "many" Class02 : contains
Class03 o-- Class04 : aggregation
Class05 --> "1" Class06
@enduml
在标签的开始或结束位置添加<
或 >
以表明是哪个对象作用到哪个对象上。
@startuml
class Car
Driver - Car : drives >
Car *- Wheel : have 4 >
Car -- Person : < owns
@enduml
添加方法
为了声明域或者方法,你可以使用 后接域名或方法名。
系统检查是否有括号来判断是方法还是域。
@startuml
Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : size()
@enduml
也可以使用{}
把域或者方法括起来
注意,这种语法对于类型/名字的顺序是非常灵活的。
@startuml
class Dummy {
String data
void methods()
}
class Flight {
flightNumber : Integer
departureTime : Date
}
@enduml
You can use {field}
and {method}
modifiers to override default behaviour of the parser about fields and methods.
@startuml
class Dummy {
{field} A field (despite parentheses)
{method} Some method
}
@enduml
@startuml
class 图书{
#图书名称
#作者
#图书出版社
#图书出版时间
-查询图书信息()
}
class 读者{
#读者姓名
#读者联系方式
-注册()
-登录()
-查询书目()
}
class 采购员{
#采购员编号
#采购员姓名
#采购员联系方式
-图书订购()
}
class 分编员{
#分编员编号
#分编员姓名
#分编员联系方式
-图书入库信息()
-图书注销信息录入()
}
class 管理员{
#管理员编号
#管理员姓名
#管理员联系方式
-读者信息录入()
-图书借阅信息录入()
-图书归还信息录入()
-查询读者信息() -
查询图书信息()
-查询图书销量信息()
}
class 店长{
#店长个人信息
#店长联系方式
-图书销量统计()
}
读者 ..|>图书
采购员 ..|>图书
分编员..|>图书
店长 ..|>图书
读者 ..right>采购员
管理员 ..right>读者
采购员 ..right>分编员
分编员 ..right>店长
@enduml