UML类图知识整理
之所以学习UML类图,是因为想把前面看的《设计模式之禅》再看一遍,但文章都用到了uml类图,前面其实都一知半解,觉得自己挺low的,所以觉得还是得看明白才行。才浏览了网上几篇博客,现将知识点整理如下:
博客来源:
Java 大白话讲解设计模式之 -- UML类图
类之间的关联关系和依赖关系
依赖、关联、聚合、组合
看懂UML类图和时序图
一、UML类图中一个类的基本表示
如图,Person类被分为三部分,从上到下依次是:
- 类名
- 成员变量,表示为:权限 属性名:类型 [ = 默认值 ]
- 方法,表示为:权限 方法名称(参数列表) [ : 返回类型]
其中,权限的表示方法简写为了+、#、~、-,分别表示public、protected、default、privite。
二、UML图中的关系表示
(一)泛化(继承)关系
A指向B,表示B是A的泛化,即继承。
(二)实现关系
A指向B,表示A实现了B
(三)依赖关系
A指向B,表示A依赖于B,即在A中使用到了B对象,与关联关系相区分,依赖比关联关系要弱一些,依赖关系一般是类B以参数的形式传入类A的方法(参数依赖)、类B以局部变量的形式存在于类A的方法中(局部依赖),类A调用类B的静态属性或方法(静态依赖),而关联关系通常是指一个类对象作为另一个类对象的成员变量。
(四)关联关系
关联又分为单向关联,双向关联。其中:
1.单向关联
A指向B表示,一般用于表示B作为成员变量在A中,是一种较强的关系。
2.双向关联
表示A和B都作为成员变量在对方类中,代码中应该尽量避免双向关联。
(五)特殊的关联关系
1.聚合关系
一种特殊的关联关系,用以表示整体由部分构成的语义,但与组合关系相区分的是,其中整体和部分又相对独立,可以分开,如学生与选修课,选修课由学生一起选修组成,但是选修课没有了,不代表学生这个实体就失去意义了。
菱形那一边表示整体,这里的图表示B由A组成,但就算没了B,A也有自己的意义。
2.组合关系
也是一种特殊的关联关系,与聚合关系类似,表示的也是整体由部分构成,但是区别的是即使聚合的整体被破坏,部分则失去了意义,换句话说部分的生命周期依赖于整体的生命周期,如公司与部门,公司不存在了,则部门也不存在了。
菱形那一边表示整体,这里的图表示B由A组成,也表示没了A,B也不存在(注,与聚合关系图对比这里是实心的菱形)。
以上是 UML类图知识整理 的全部内容, 来源链接: utcz.com/z/510308.html