UML类图
-
UML
- UML(统一建模语言),是一种用于软件系统分析和设计的语言工具
-
UML类图
- 用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系
- 类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合
类之间的关系
-
依赖关系
(1)介绍
只要是在类中用到了对方,那么他们之间就存在依赖关系 (1)类中用到了对方 (2)是类的成员属性 (3)是方法的返回类型 (4)是方法接收的参数类型 (5)方法中使用到
(2)代码举例
/** * A依赖于B,普通虚线 */ public class A { public void getB(B b) { } }
-
泛化关系
(1)介绍
实际上就是继承关系,他是依赖关系的特例 (1)泛化关系实际上就是继承关系 (2)如果A类继承了B类,我们就说A和B存在泛化关系
(2)代码举例
/** * 带三角形的蓝色实现代表继承,三角形指向的地方为父类 */ public class A extends B { }
-
实现关系
(1)介绍
实际上就是A类实现B接口,他是依赖关系的特例
(2)代码举例
/** * 绿色带三角形的虚线代表实现,三角形指向的方向为被实现的接口 */ public class A implements C { }
-
关联关系
(1)介绍
实际上就是类与类之间的联系,他是依赖关系的特例 (1)关联具有导航性 双向关系 单向关系 (2)关系具有多重性 “1”(表示有且仅有一个) “0...”(表示0个或者多个), “0,1”(表示0个或者一个) “n...m”(表示n到 m个都可以) “m...*”(表示至少m个)
(2)代码举例
/** * 也是虚线箭头 */ public class A { private B b; public B getB() { return b; } }
-
聚合关系
(1)介绍
(1)表示的是整体和部分的关系,整体与部分可以分开 (2)聚合关系是关联关系的特例,所以他具有关联的导航性与多重性
(2)代码举例
/** * 使用带实心菱形的白色实线表示,菱形的一端为聚合的类 */ public class A { private B b; }
-
组合关系
(1)介绍
也是整体与部分的关系,但是整体与部分不可以分开
(2)代码举例
/** * 虚线带《created》表示组合,箭头的一方表示被组合的类 */ public class A { private B b = new B(); }
参考:尚硅谷Java设计模式