UML类图之间的关系与对应的代码关系
- 1. 依赖关系
- 1.1 图解
- 1.2代码实现
- 2. 关联关系
- 2.1图解
- 2.2代码实现
- 3. 聚合关系
- 3.1图解
- 3.2代码实现
- 4. 组合关系
- 4.1图解
- 4.2代码实现
- 5. 泛化关系
- 5.1图解
- 5.2代码实现
- 6. 实现关系
- 6.1图解
- 6.2代码实现
在UML中,共有四种关系:依赖、关联(聚合、组合)、泛化、实现。类与类之间的关系,从耦合度低到高排列:依赖关系、关联关系、聚合关系、组合关系、泛化关系、实现关系。
1. 依赖关系
1.1 图解
在UML中用带箭头的虚线表示依赖关系,箭头指向的是被依赖者。依赖关系是一种调用关系,发生在运行时,是一种临时的关系。
1.2代码实现
a) 在A中的方法中调用B中的方法
b) 将B作为参数传入A中,将B作为A中方法的返回值
c) A调用B中的静态方法
2. 关联关系
2.1图解
在UML中用带箭头的实线表示关联关系,箭头指向的是被关联者。关联关系是一种静态的关系,与运行时无关,由常识决定,比如师傅与徒弟、老师与学生等。从关联的方向分类,可分为:单向关联、双向关联、多重关联
2.2代码实现
被关联者常常以成员变量的形式存在于关联者类中
3. 聚合关系
3.1图解
在UML中用带空心菱形的实线表示两个类的聚合关系,聚合关系是一种整体与部分的关系,菱形所指的方向是整体,但部分可以脱离整体单独存在。比如雁群与大雁的关系,大雁可以脱离雁群这个整体单独存在。
3.2代码实现
部分常常作为整体的成员变量。
4. 组合关系
4.1图解
在UML中用带实心菱形的实线表示两个类的组合关系,组合关系也是一种整体与部分的关系,菱形所指的是整体,但部分不可脱离整体单独存在。比如人与大脑的关系,大脑不可脱离人这个整体而单独存在。
4.2代码实现
部分常常作为整体的成员变量。
5. 泛化关系
5.1图解
在UML中用带三角形的实线表示泛化关系,泛化关系是一种继承关系,三角形所指的是父类。
5.2代码实现
继承关系
6. 实现关系
6.1图解
在UML中用带三角形的虚线表示实现关系,实现关系表示是对接口的实现,三角形所指的是父类,在实现关系中父类为接口类,抽象类。
6.2代码实现
对接口的实现,对抽象类的实现。