在UML中,经常会使用到4种关系:依赖、关联、泛化和实现。看到这几种关系,一定要明确,这4种关系的条件是类与类之间。跟所有面向对象语言中描述的“类”的概念是一致的。
1、依赖
依赖关系的描述是一种单纯的单向关系,所涉及的类之间耦合度最低,关系最不密切。
鸟儿离不开天空,是依赖;
鱼儿离不来水,也是依赖;
(1)表示方法:虚线箭头指向,箭头指向被依赖的类
(2) 在代码中描述,可作为一个静态方法,用来被调用。
(3)被指向的类,可以作为一个变量,另外,可以作为返回值/参数。
2、关联
关联描述成两种:聚合和组合
(1)描述:一个类has另一个类
(2)类与类之间可以是双向性,也可以是单向关系。这种关系是长久不变的。
(3)在代码中,被关联的类是另一个类的一个全局变量或者只是它的一个属性对象。
(4)表示方法:一条实线箭头
(5)组合是整体和部分的关系;聚合是从属关系。
3、泛化
泛化是面向对象中最基本的关系,继承,子类继承父类,接口继承接口,抽象类之间的继承。
在泛化关系中描述的继承,只是一对一的继承,这点应该注意。
(1)表达方法:实线三角指向
4、实现
(1)implement,这里是一个类可以继承多个接口
(2)在Java中,直接只能继承一个类。
(3)描述方法:实现箭头指向被继承的接口和类。
类之间的这4种关系,可以是直接主导开发完成设计的。需求方面的设计,要详细认真的分析研究。
在类图设计中,结合对应的类和类之间的关系,完整描述一个需求设计;
如何利用类图来指导开发,需要我们认真的研究设计,类包含方法和属性,类之间的关系清楚描述逻辑。