一、类与对象的表示: //注本节内容是从http://plantuml.com/zh/class-diagram学习而来,若有雷同,不胜巧合。
(1)、通常采用矩形来表示一个类。
(2)、采用缩略的形式表示。
二、类之间的关系。
(1)、类之间的关系通过下列符号定义。
实例:
@startuml
Xht01 <|-- Xht02
Xht03 *-- Xht04
Xht05 o-- Xht06
Xht07 .. Xht08
Xht09 -- Xht10
@enduml
(2)、关系上的标识。
在关系之间使用标签来说明时, 使用 :
后接 标签文字。
对元素的说明,可以在每一边使用 ""
来说明。
在标签的开始或结束位置添加<
或 >
以表明是哪个对象作用到哪个对象上。
实例:
@startuml
Xht01 "1" *-- "many" Xht02 : contains
Xht03 o-- Xht04 : aggregation
Xht05 --> "many" Xht06
@enduml
三、抽象与静态
(1)、通过修饰符{static}
或者{abstract}
,可以定义静态或者抽象的方法或者属性。
实例:
@startuml
class Dummy {
{static} String id
{abstract} void methods()
}
@enduml
四、高级类体
(1)、
PlantUML默认自动将方法和属性重新分组,可以自己定义分隔符来重排方法和属性。
下面的分隔符都是可用的:--
..
==
__
.
还可以在分隔符中添加标题。
实例:
@startuml
class Foo1 {
You can use
several lines
..
as you want
and group
==
things together.
__
You can have as many groups
as you want
--
End of class
}
class User {
.. Simple Getter ..
+ getName()
+ getAddress()
.. Some setter ..
+ setName()
__ private data __
int age
-- encrypted --
String password
}
@enduml
五、学生类
属性:
个人信息(姓名,年龄,学号,班级)
课程信息(课程名,教室,任课教师)
成绩信息(学号,姓名,课程名,成绩,任课教师)
类图:
@startuml
class 学生个人信息 {
-姓名:string
-学号:varchar
-年龄:varchar
-班级:string
__
+登录
+修改个人信息
+退出登录
}
class 学生课程信息{
-课程名:string
-教室:string
-任课教师:string
__
+登陆
+选课
+查看课表
+退出
}
class 成绩信息 {
-学号:varchar
-姓名:string
-成绩:varchar
-课程名:string
-任课教师:string
__
+登陆
+查看成绩
+退出
}
学生课程信息 -left-> 学生个人信息
成绩信息-right-> 学生个人信息
@enduml