UML简介
Unified Modeling Language,UML 统一建模语言,用于设计软件的可视化建模语言。
UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。
类图简介
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。
-
在软件工程中,类图是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解;
-
类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。
可见类图可以帮助我们快速了解类之间的关系~ 学习UML类图还是非常有必要的。
画图工具
画图工具可以使用startUml这个软件,当然若是不想下载软件就想简单画点类图processOn这个在线网站基本能够满足我们的需求。
类图表示
1、类
类使用如上图形表示:
- 最上层写类名,中间层为类的属性,最下层为类的方法。
- 属性的定义很简单修饰符,属性名,属性类型,默认值(可无)
- 方法的定义很简单修饰符,方法名,方法参数(可无),方法返回值类型(可无)
- 上述的+,-,#分别表示public private protected 类型
2、接口
接口使用如上图形表示:
- 和类的用法差不多 😁 只是接口名多了个Interface关键字。
类与类之间的关系
1、继承与实现关系
回顾下:
- java的类之间存在单继承,多实现关系。
- java的接口之间存在着多继承关系(接口之间不能实现,只能继承)
(1)继承关系
继承关系使用如上图形表示:
- 二者之间使用带空心三角箭头的实线来表示
(2)实现关系
实现关系使用如上图形表示:
- 二者之间使用带空心三角箭头的虚线来表示
2、关联关系
关联关系就是一个类A持有一个类B的引用。也即类B作为类A的成员变量。
(1)普通关联
注意箭头画法。两者之间连线上还可以描述文字。
(2)聚合
聚合更强调类与类之间存在个体与整体的关系。其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。
如下图,学校倒闭了不影响老师存在。
(3)合成
合成聚合也强调类与类之间存在个体与整体的关系。在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,人和头的关系,没有了人,头也就不存在了。
如上Head与Teacher之间存在合成关系。头属于人的一部分。
3、依赖关系
依赖关系是一个类的方法持有另一个类的引用。