UML类图、类之间的关系

编程

一、概述

UML(unified modeling language),统一建模语言,是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的结果。

UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如:类、接口、实现、泛化、依赖、组合、聚合等。

词汇说明:

依赖(dependency),表示 使用到;

关联(association),表示 一对一、多对多 的关系;

泛化(generalization),表示 继承;

实现(realization;

聚合(aggregation),聚合是关联关系的一个特例,通过setter方法插入的成员变量类就是聚合关系;

组合(composite),组合也是关联关系的一个特例,成员变量一开始就new好了,这个成员变量类型就是组合关系,耦合性要比聚合强一些。

二、关系说明

1)依赖关系

只要在类中用到对方,那么他们之间就存在依赖关系,如果没有对方,连编译通过都通过不了。

场景总结:

  1. 类的成员属性;
  2. 方法的返回结果;
  3. 方法接收的参数类型;
  4. 方法中使用到

凡是两个类直接有以上场景,他们之间就存在依赖关系。

2)泛化关系

泛化关系实际上就是继承关系,他是依赖关系的一个特例。

3)实现关系

实现关系实际上就是A类实现了B类,他是依赖关系的一个特例。

这里的实现关系的箭头和继承的箭头的区别在于实线和虚线的区别。

而实现和继承的区别,可以理解为java中接口和可继承类(如抽象类)的关系。

4)关联关系

关联关系实际上就是类和类之间的联系,他是依赖关系的一种特例。

关联关系具有导航性,关联关系具有多重性。

单向关联关系,有 单向一对一关系。

双向关联关系,有 双向一对一关系。

5)聚合关系

聚合关系,是整体和部分的关系,整体和部分可以分开。

聚合关系是关联关系的一种特例,所以它具有关联关系的导航性和多重性。

6)组合关系

组合关系,是整体和部分的关系,整体和部分不可以分开。

聚合关系同样是关联关系的一种特例,所以它具有关联关系的导航性和多重性。

如果两个类之间的关联关系是可以分开的,那么这个关联关系就是聚合关系;如果两个类之间的关系是不能分开的,那么就是组合关系。

以上是 UML类图、类之间的关系 的全部内容, 来源链接: utcz.com/z/511926.html

回到顶部