UML关系入门

Posted 中中的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML关系入门相关的知识,希望对你有一定的参考价值。

      最近在梳理UML关系的时候,发现不少小伙儿对部分细节概念理解不是很清晰,整理了下UML类关系


你将了解:

  • UML关系分类

  • 关系之间的区别

一. 概述

       UML类关系主要分为:实现、泛化、依赖、关联、聚合、组合,总体来说都是类之间的关联关系,是语义级别区分,无法直接从代码层面区分,只是耦合程度不同。耦合强如程度:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖



二. 关系区别


依赖

关联

组合

聚合

概念

类A依赖B:类A使用到了类B,该使用关系是具有偶然性的、临时性的、非常弱的,但B类的变化会影响到A 体现的是两个类之间语义级别的一种强依赖关系;这种关系比依赖更强,一般是长期性的,而且双方的关系一般是平等的 组合是关联关系的一种特例,他体现整体与部分间的关系,但整体与部分是不可分 聚合是关联关系的一种特例,他体现的是整体与部分的关系,整体与部分之间是可分离的,他们可以具有各自的生命周期

生命周期

方法被调用时产生 实例化时产生,销毁时结束 实例化时产生,销毁时结束 互不影响

关系

use,非从属关系 relation,非从属关系 contains-a,从属关系 has-a,从属关系

代码表现

方法返回值

方法形参

方法局部变量

静态方法

属性

关联类

属性

属性

通常利用构造方法、Setter方法或业务方法的参数注入

备注

单向,依赖某个类的变化 单向或双向(建议转化为单向),对其他对象的引用 关注的问题域不同,组合和聚合关系可能相互转化

实例不能形成聚合回路

依赖导致(变化类)

说明:UML关系仅从语义上区别,实际的代码无法直接区分


三. UML 表示方法

  • 泛化(继承)    

          UML关系入门

  • 实现              

          UML关系入门

  • 依赖              

          UML关系入门

  • 关联

          1.1 单向关联

          UML关系入门

          1.2 双向关联

          UML关系入门

          1.3 自关联

          UML关系入门

          1.4 多重关联

          UML关系入门

          UML关系入门

  • 聚合

          

  • 组合

         


参考:

https://www.kancloud.cn/digest/xing-designpattern/143734

https://cloud.tencent.com/developer/article/1176331

书籍:《UML精粹》、《UML for java programer》 

以上是关于UML关系入门的主要内容,如果未能解决你的问题,请参考以下文章

通俗易懂一文入门UML类图(笔记收藏)

UML可视化语言入门

uml入门之14图与图之间的关系

UML类图的几个关系自我总结,(入门级)

2.UML类图

UML入门[转]