今天在这里,主要介绍一下UML中的类图设计。
UML,统一建模语言(Unified Modeling Language),用于说明、可视化、构建和编写一个系统。在UML系统开发时主要使用三个模型:
- 功能模型(展示系统实现的功能):包括用例图。
- 对象模型(展现系统中各个对象之间的联系):包括类图、对象图。
- 动态模型(展示系统内部运作):包括序列图,活动图,状态图。
类图(Class diagram)是面向对象建模的主要组成部分,用于表明类的内部结构,以及与其他类的关系等。
类图的组成
一个类图主要包含有几个部分:
- 类:对应Java的class
- 接口:对应Java的interface
- 包:对应Java的package
- 关系:包括继承关系(extends)、实现关系(implements)、关联关系(A类是B类的成员字段)、聚合关系(例如A在B的构造方法中)、组合关系(A在B构造方法中,A不能独立存在)、依赖关系(例如方法的调用)。
下面就来详细介绍类图的各个部分的写法。
类
Student类
属性字段有:name姓名、password密码
方法有:run跑步、study学习、sleep睡觉
接口
Function接口
方法有:add添加人类、delete删除人类、queryAll查询所有
泛化关系(继承关系)
体现为Student extends Person
实现关系
StudentManage学生管理 implements Function功能接口
但通常会使用虚线的空箭头表示。
聚合关系
表述就是,学生管理中包含有学生,但学生是一个独立的个体。
依赖关系
这里所画类图并不合理,但一时半会儿难以找到合适的例子。
依赖关系其实就是,一个类只在某些方法的参数引用另一个类,并不会与另一个类有太多的纠缠。
组合关系
学生是需要有成绩的,如果说没了学生,那么成绩独立存在并没有什么意义。
所以说,组合关系就是,A里面有B,B离了A活不了。
关联关系
学生中有课程,但又不属于包含关系,所以我们只能说,二者有关联。