1类图定义
类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图。它形象的描述出了系统的结构,帮助人们理解系统。 类图是在"所有的UML图"中,实用频率非常之高;掌握它对于我们软件设计,以及交流都很有帮助。对于类图而言,它的基本单位是类。类主要由三部分组成:类名、属性、操作(函数)。
类名:类的名称
属性:UML类图中,属性的基本格式: 可见性 名称: 类型 [=缺省值]
操作:UML类图中,属性的基本格式: 可见性 名称(参数类表) [:返回类型]
@startuml
C01 <|-- C02:泛化
C03 <-- C04:关联
C05 *-- C06:组合
C07 o-- C08:聚合
C09 <|.. C10:实现
C11 <.. C12:依赖
C13 -- C14
@enduml
以上是常见的六种关系, -- 可以替换成 .. 就可以得到虚线。另外,其中的符号是可以改变方向的,例如: <|-- 表示右边的类泛化左边的类; --|> 表示左边的类泛化右边的类。
2添加方法
在类名后面添加冒号可以添加方法和方法的参数,例如:
@startuml
Object <|-- ArrayList
Object : equals()
ArrayList : Object[] elementData
ArrayList : size()
@enduml
3定义可访问性
@startuml
class Dummy {
-field1
#field2
~method1()
+method2()
}
@enduml
4抽象和静态
可以使用 {static} 或者 {abstract} 来修饰字段或者方法,修饰符需要在行的开头或者末尾使用。你也可以使用 {classifier} 代替 {static} 。
@startuml
class Dunmy{
{static}String id
{classifier}String name
{abstract}void methods()
}
@enduml
5学生类
属性:
个人信息(姓名,年龄,学号,班级)
课程信息(课程名,教室,任课教师)
成绩信息(学号,姓名,课程名,成绩,任课教师)
类图:
@startuml
class 学生个人信息 {
-姓名:string
-学号:varchar
-年龄:varchar
-班级:string
__
+登录
+修改个人信息
+退出登录
}
class 学生课程信息{
-课程名:string
-教室:string
-任课教师:string
__
+登陆
+选课
+查看课表
+退出
}
class 成绩信息 {
-学号:varchar
-姓名:string
-成绩:varchar
-课程名:string
-任课教师:string
__
+登陆
+查看成绩
+退出
}
学生课程信息 -left-> 学生个人信息
成绩信息-right-> 学生个人信息
@enduml