文章参考资源,安利一波:

W3Cschool UML教程

UML各种图总结-精华

uml图六种箭头的含义

UML类图中箭头和线条的含义和用法

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

泛化(Generalization)

概念:泛化是表示一个更泛化的元素和一个更具体的元素之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。在java中用来表示继承的关系。在Java中,用extends关键字来直接表示这种关系。

表示方法:用实线空心三角箭头表示。

实现(Realization)

概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述。

在Java中,实现关系可直接用implements关键字来表示。

表示方法:空心三角形箭头的虚线表示。

依赖(Dependency)

概念:是一种使用的关系,即一个类的实现需要另一个类的协助。java中,方法参数需要传入另一个类的对象,就表示依赖这个类。也可利用“依赖”来表示包和包之间的关系。由于包中含有类,所以你可根据那些包中的各个类之间的关系,表示出包和包的关系。

表示方法:虚线箭头,类A指向类B。

关联(Association)

概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。java中一个类的全局变量引用了另一个类,就表示关联了这个类。

表示方法:实线箭头,类A指向类B,如果没有箭头,就是表示双向关联。

聚合(Aggregation)

概念:聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分;

表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B。

组合(Composition)

概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。

表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类A指向类B

在了解学习uml各个箭头的含义与用法后,就能应用到实际的类图中,例如后面将学习设计模式中表示各个模式之中的类结构图示就大有用处

今天的分享就这些,欢迎留言讨论哟

【实用工具】UML图六种箭头的含义相关推荐

  1. uml图六种箭头的含义

    在看一些技术博客的时候,经常会见到博客里画上很多uml图.因为经常会被这几种表达关系的箭头搞混,这里我就把常见的6种箭头表达的含义理一下. 泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述, ...

  2. uml图六种箭头的含义(泛化、实现、依赖、关联、聚合、组合)

    泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展.在java中用来表示继承的关系. 表示方法:用实线空心三角箭头表示. 实现 概念:实现是 ...

  3. UML图六种箭头含义

    导语 在平时的开发中,难免会遇到画UML图的时候,也就是我们所说的类图,但是UML图中的箭头多种多样,所代表的含义也是各不相同,今天我们就来说说这几种箭头所代表的含义. 1 泛化 概念:泛化表示一个更 ...

  4. UML六种箭头代表含义

    UML六种箭头代表含义 1. 泛化 1.1. **概念:** 1.2. **表示方法:**用实线空心三角箭头表示. 2. 实现 2.1. **概念:** 2.2. **表示方法:**空心三角形箭头的虚 ...

  5. UML六种箭头的含义

    每次都是懒,然后查到别人的描述.我感觉在我的脑子里印象不深刻.还是要自己写一篇. 不同的箭头,代表着不同类之前的关系. 被箭头指的类都是父类,基类,类A使用类B的类A. 六种如下:(组聚泛实关依)-- ...

  6. 哈工大软件过程与工具----UML图

    一.用例图 什么是参与者? 参与者对系统而言总是外部的.参与者通过与系统交互,完成某件事务. 参与者的分类? 参与者分为启动者和支持者.启动者请求系统服务,支持者提供系统服务. 参与者之间的关系? 参 ...

  7. 【冷门实用小工具】JAVA和C#轻量级的UML图绘制工具NClass,UML类图编辑器免安装版【亲测有效】

    下载地址:NClass下载地址 NClass是一款免费的UML图绘制工具,它很小巧轻量级,解压之后大小不到2M,便于携带和使用,是很实用UML绘制工具. 功能介绍: 1.支持完整的C#和Java支持多 ...

  8. UML图中6种箭头的含义

    在看一些技术博客的时候,经常会见到博客里画上很多uml图.因为经常会被这几种表达关系的箭头搞混,这里我就把常见的6种箭头表达的含义理一下. 泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述, ...

  9. uml图中的各种箭头_设计模式学习笔记(二):UML与面向对象设计原则

    1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6 ...

最新文章

  1. Oracle Database的安装与卸载
  2. dtree.js树的使用
  3. ASP.NET 2.2 Preview 1首次支持Java SignalR客户端
  4. 紫书 习题 10-20 UVa 1648 (推公式)
  5. .写一个方法 void printScore(int score),输出相应的等级。score代表分数,等级格式如下:
  6. [转载] Python:Numpy详解
  7. 3.3 Zend_Db_Table
  8. 【已解决】java int转byte出现负数
  9. 计算机电源大小,常见电脑主板和电源尺寸
  10. Python 经典例题
  11. 关于大创项目的初期思考2020.11.14
  12. 图片文件加密与解密(基于Python实现)
  13. html laber上下居中,laber是什么意思
  14. [JZOJ4274] 终章-剑之魂
  15. 由浅入深学习Flash制作赛车游戏教程
  16. 雨林木风(Ylmf OS)操作系统 点评
  17. ARM GICv3中断控制器
  18. python 爬虫 关于requests的基础知识及常用的一些User-Agent
  19. 关于Android 12 适配,看这篇就够了
  20. 双亲表示法、孩子表示法、孩子兄弟表示法(二叉树表示法),森林和二叉树的转换

热门文章

  1. Error: docker-ce conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64
  2. 有python专业的世界大学_2020年QS计算机专业排名进入世界前50的,除了G5,还有这所大学!...
  3. SVG黑科技微信排版『Apple连续向上滑动』模板代码
  4. 【unity插件】Rewired插件-unity3d实现主机、PC手柄震动Vibration
  5. 基于RFM模型对借贷App用户分层分析案例
  6. 阿里云备案一般要多久时间?快速通过阿里云APP进行域名备案方法
  7. No valid Maven installation found.
  8. 实用前端标注图片剪裁工具-AILabel.js
  9. K8S集群Pod资源自动扩缩容方案
  10. 最大值最小值算法(象棋博弈)