UML类图、类之间的关系
一、概述
UML(unified modeling language),统一建模语言,是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的结果。
UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如:类、接口、实现、泛化、依赖、组合、聚合等。
词汇说明:
依赖(dependency),表示 使用到;
关联(association),表示 一对一、多对多 的关系;
泛化(generalization),表示 继承;
实现(realization;
聚合(aggregation),聚合是关联关系的一个特例,通过setter方法插入的成员变量类就是聚合关系;
组合(composite),组合也是关联关系的一个特例,成员变量一开始就new好了,这个成员变量类型就是组合关系,耦合性要比聚合强一些。
二、关系说明
1)依赖关系
只要在类中用到对方,那么他们之间就存在依赖关系,如果没有对方,连编译通过都通过不了。
场景总结:
- 类的成员属性;
- 方法的返回结果;
- 方法接收的参数类型;
- 方法中使用到
凡是两个类直接有以上场景,他们之间就存在依赖关系。
2)泛化关系
泛化关系实际上就是继承关系,他是依赖关系的一个特例。
3)实现关系
实现关系实际上就是A类实现了B类,他是依赖关系的一个特例。
这里的实现关系的箭头和继承的箭头的区别在于实线和虚线的区别。
而实现和继承的区别,可以理解为java中接口和可继承类(如抽象类)的关系。
4)关联关系
关联关系实际上就是类和类之间的联系,他是依赖关系的一种特例。
关联关系具有导航性,关联关系具有多重性。
单向关联关系,有 单向一对一关系。
双向关联关系,有 双向一对一关系。
5)聚合关系
聚合关系,是整体和部分的关系,整体和部分可以分开。
聚合关系是关联关系的一种特例,所以它具有关联关系的导航性和多重性。
6)组合关系
组合关系,是整体和部分的关系,整体和部分不可以分开。
聚合关系同样是关联关系的一种特例,所以它具有关联关系的导航性和多重性。
如果两个类之间的关联关系是可以分开的,那么这个关联关系就是聚合关系;如果两个类之间的关系是不能分开的,那么就是组合关系。
以上是 UML类图、类之间的关系 的全部内容, 来源链接: utcz.com/z/511926.html