【设计模式】UML类图
一、UML概念
1、UML定义
- 统一建模语言(Unified Modeling Language,缩写UML0
- 非专利的第三代建模和规约语言
2、UML2.2分类
-
结构式图形:强调的是系统式的建模
- 静态图(类图,对象图,包图)
- 实现图(组件图,部署图)
- 剖面图
- 符合结构图
-
行为式图形:强调系统模型汇总出发的事件
- 活动图
- 状态图
- 用例图
-
交互式图形:属于行为式图形子集合,强调系统模型中资料流程
- 通信图
- 交互概述图
- 时序图
- 时间图
二、UML类图
用于表示类、接口、实例等之间相互的静态关系,虽然名字叫类图,但类图中并不只有类。
1、UML箭头方向:从子类指向父类
- 定义子类时候需要通过extends关键字指定父类
- 子类一定是知道父类定义的,但是父类并不知道子类的定义
- 只有知道对方信息时才能指向对方
2、实线表示继承 | 虚线表示实现
- 空心三角箭头:继承或者实现
- 实现-继承:is a 关系,扩展目的,不虚,很结实
- 虚线-实现:虚线代表“虚” 无实体
3、实线表示关联 | 虚线表示依赖
4、虚线-依赖关系:临时用一下,若即若离,虚无缥缈,若有若无
- 表示一种使用关系,一个类需要借助另一个类来实现功能
- 一般是一个雷使用另一个类为参数使用,或者作为返回值
5、实线-关联关系:关系稳定,实打实的关系,铁哥们
- 表示一个类对象和另一个类对象有关联
- 通常是一个类中有另一个类对象作为属性
6、空心菱形表示聚合 | 实心菱形表示组合
- 菱形就是一个乘东西的器皿(例如盘子)
- 聚合:代表空器皿里可以放很多相同的东西,聚在一起(箭头方向所指的类)
- 组合:代表满器皿里已经有实体结构的存在,生死与共
三、UML时序图
是显示对象之间交互的图,这些对象是按照时间顺序排列的。
时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等。
四、UML类的表示
- 上述的有一个小问题,斜体的study()是一个抽象方法,所以这个类是一个抽象类,要用斜体表示。