1.关于类图的学习:
类图显示了系统的静态结构。
类:类图中的主要元素,用矩形表示。矩形的上层表示类名、中层表示属性、下层表示方法。
类之间的关系:关联、依赖、聚集、泛化和实现五种。
2.五种类间关系的图形表示介绍:
3.类图的注释:
例1.
@startuml
倪01 <|-- 倪02
倪03 *-- 倪04
倪05 o-- 倪06
倪07 .. 倪08
倪09 -- 倪10
@enduml
4.在关系之间使用标签来说明时, 使用 :
后接 标签文字,可以在每一边使用 ""
来说明元素。
例如:
@startuml
Class01 "倪" *-- "倪" Class02 : contains
Class03 o-- Class04 : 倪
Class05 --> "倪" Class06
@enduml
5.在标签的开始或结束位置添加<
或 >
以表明是哪个对象作用到哪个对象上。
例如:
@startuml
class Car
Driver - Car : drives >
Car *- Wheel : have 4 >
Car -- Person : < 倪
@enduml
6.通过修饰符{static}
或者{abstract}
,可以定义静态或者抽象的方法或者属性,这些修饰符可以写在行的开始或者结束。也可以使用{classifier}
这个修饰符来代替{static}
。
}
@enduml@startuml
class 倪 {
{static}
String name
{abstract} void methods()
}
@enduml
7. PlantUML中默认自动将方法和属性重新分组,当然也自己定义分隔符来重排方法和属性,例如:--..==__
,我们还可以在分隔符中添加标题。
@startuml
class 倪 {
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 name {
.. Simple Getter ..
+ getName()
+ getAddress()
.. Some setter ..
+ setName()
__ private data __
int age
-- encrypted --
String password
}
@enduml
@startuml
class age << general
>>
Object <|--- ArrayList
note top of Object : my age
is 22
note "This is a
table" as N1
Object .. N2
N2 .. ArrayList
class name
note left: my name is wtl
@enduml
二、班级学生管理系统
属性:
(1)基本信息:学号:varcher 姓名:string 年龄:int 班级:string 班级职务:string
(2)课程信息:学号:varcher 姓名:string 课程名:string 教师:string 教室:string
(3)成绩信息:学号:varcher 姓名:string 成绩:string 课程名:string
@startuml
class 学生个人信息 {
-姓名:string
-学号:varchar
-年龄:varchar
-班级:string
-职务:string
__
+登录
+添加个人信息
+删除个人信息
+修改个人信息
+退出登录
}
class 学生课程信息{
-课程名:string
-教室:string
-老师:string
__
+登陆
+选课
+退出
+查看课程
+课程成绩
}
class 学生成绩 {
-学号:varchar
-姓名:string
-成绩:varchar
__
+登陆
+查看成绩
+退出
}
学生课程信息 --> 学生个人信息
学生成绩-left-> 学生个人信息
@enduml