UML学习笔记

UML基础知识

 uml,全称为Unified Modeling Language,即统一建模语言,主要作用为软件设计与需求分析。

UML分类

 分为两类,分别是结构型图(Structure Diagram)与行为型图(Behavior Diagram);顾名思义,结构型图描述的是某种结构,这种结构在某段时间内应该是稳定的,“静态”的;而结构型图描述的是某种行为,是“动态”的。

类图与时序图

UML学习笔记_第1张图片

Person类图

UML学习笔记_第2张图片

查看菜单时序图

类图(Class Diagram)属于结构型图,时序图(Sequence Diagram)属于行为型图。

类图关系总结

 UML类图中,主要有六种关系:泛化(Generalization),实现(Realization),关联(Association),依赖(Dependency),聚合(Aggregation),组合(Composition)。

1.泛化(Generalization)

 表示is-a的关系,是对象之间耦合度最大的一种关系,子类继承父类的所有细节。
 箭头指向:带三角箭头的实线,箭头指向父类。
UML学习笔记_第3张图片

2.实现(Realization)

 就是接口和实现的关系。
 箭头指向:带三角箭头的虚线,箭头指向接口。
UML学习笔记_第4张图片

3.依赖(Dependency)

 对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。
 与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化,依赖关系也可能发生变化;依赖有方向,双向依赖是一种非常糟糕的结构,我们总是应该保持单向依赖,杜绝双向依赖的产生。
 箭头指向:带箭头的虚线,箭头从使用类指向被依赖的类。
UML学习笔记_第5张图片

4.关联(Association)

 关联是一种拥有关系,使得一个类知道另一个类的属性和方法。代码体现:成员变量。关联关系可以是单向的,也可以是双向的。双向的关联可以有箭头或是没有箭头,单向的只有一个箭头。
UML学习笔记_第6张图片

5.聚合(Aggregation)

 整体与部分的关系,并且部分可以离开整体而单独存在,比如汽车和轮胎的关系,鸟群和鸟的关系。
 聚合关系是关联关系的一种,是强的关联关系;关联和聚合的区分,需要考察具体的逻辑关系。
 代码体现:成员变量。
 箭头指向:带空心菱形的实线,菱形指向整体。
UML学习笔记_第7张图片

6.组合(Composition)

 整体与部分的关系,但是部分不能脱离整体而单独存在。如公司与部门,小鸟与翅膀。
 组合关系也是关联关系的一种,是比聚合关系还要强的关系,它要求代表整体的对象要负责代表部分的对象的生命周期。
 代码体现:成员变量。
 箭头指向:带实心菱形的实线,菱形指向整体。
UML学习笔记_第8张图片

各种关系强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

参考链接

1.https://blog.csdn.net/soft_zzti/article/details/79811923
2.https://blog.csdn.net/zhangzhaoyuan30/article/details/95969773
3.https://blog.csdn.net/qq_35495763/article/details/80764914
4.https://blog.csdn.net/tianhai110/article/details/6339565

你可能感兴趣的:(笔记)