介绍
UML类图由许多模型元素以及不同的线、箭头组成,这些元素、线、箭头分别代表了Java中的接口、类、继承依赖关系等,将Java中各个类的关系以UML类图的方式展示出来,有助于我们理清依赖与继承实现关系。
UML类图
- Class Diagram:用于表示类、接口、实例等之间相互的静态关系。
- 类图中并不只有类
- UML箭头方向:从子类指向父类
- 实线是继承,虚线是实现
- 空心三角箭头:继承或实现对应线的箭头均为空心三角箭头
- 实线-继承:继承,不虚,很结实
- 虚线-实现:虚线表示“虚”,没有实体
- 虚线+箭头:依赖
- 是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
- 实现+箭头:关联
- 类与类之间的联接,它使一个类知道另一个类的属性和方法。
- 箭头指向被使用的类。
- 空心菱形+实线+箭头:聚合
- 是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。
- 箭头指向个体,菱形指向整体。
- 实心菱形+实线+箭头:合成
- 是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。
- 0..1:代表0或1个
- 1..*:代表1个或多个
- +符号:public权限
- -符号:private
- #符号:protected
- ~符号:default,表示该方法不需要子类强制实现
- 底划横线:static属性
- 方法名字是斜体:代表是抽象方法
示例
解释
- 首先看上面,动物框代表是一个类
- public 生命; public 新陈代谢(氧气,水);public 繁殖();
- 动物类依赖了氧气和水两个类,依赖关系以虚线的方式,这两个类在新陈代谢方法中以参数的方式存在;
- 再看鸟所在的框,鸟类
- 鸟类 空心三角+实线 指向动物类,代表鸟类实现了动物类
- public 羽毛; public 下蛋()
- 翅膀与鸟存在实心菱形,代表组合关系,具有相同生命周期
- 大雁、鸭、企鹅三个类 都以空心三角+实线 指向鸟类,代表这三个类都继承了鸟类
- 企鹅类
- public 下蛋()
- 企鹅类与气候类存在关联关系,且气候类是被使用的类
- 大雁类
- public 下蛋(),public 飞行()
- 与大雁群类存在空心菱形,代表聚合关系,且是大雁类指向大雁群类的聚合,代表是大雁聚合成大雁群
- 大雁类存在 空心三角+虚线指向 飞翔,飞翔是斜体代表一个接口,存在public 飞()方法,这里代表大雁类实现了飞翔接口。飞()是斜体,代表抽象方法
- 鸭类
- public 下蛋(),空心三角+实线指向鸟,代表继承了鸟类
- 唐老鸭类
- public 讲话(),空心三角+实线指向鸭,代表继承了鸭类
- 棒棒糖,表示法
参考
- 本文作者: xczll
- 本文链接: https://xczllgit.github.io/2020/03/04/designPattern/2020-03-04-designPattern-UML/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!