导语

在平时的开发中,难免会遇到画UML图的时候,也就是我们所说的类图,但是UML图中的箭头多种多样,所代表的含义也是各不相同,今天我们就来说说这几种箭头所代表的含义。

1 泛化

概念:泛化表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中,用extends关键字表示。

表示方式:用实线空心箭头表示。

注意:箭头方向是子类指向父类

2 实现

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

表示方式:用虚线空心三角形箭头表示,实现类指向接口。

3 依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助。在Java中,方法参数需要传入另一个类的对象,就表示依赖这个类。

表示方式:虚线箭头。

注意:类A需要用到类B,类A指向类B。

4 关联

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

在Java中,一个类的全局变量引用了另一个类,就表示关联了这个类

表示方式:实线箭头。

注意:类A中用到类B属性,类A指向类B。

5 聚合

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

表示方式:尾部为空心菱形的实线箭头(也可以没箭头)。

聚合关系和关联关系区分:

聚合(Aggregation) 关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。与关联关系一样,聚合关系也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。

注意:类A中用到类B属性,类A指向类B。

6 组合

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

表示方式:尾部为实心菱形的实现箭头(也可以没箭头)。

注意:Head是Dog的一部分,Dog指向Head。

UML图六种箭头含义相关推荐

  1. 【实用工具】UML图六种箭头的含义

    文章参考资源,安利一波: W3Cschool UML教程 UML各种图总结-精华 uml图六种箭头的含义 UML类图中箭头和线条的含义和用法 各种关系的强弱顺序: 泛化 = 实现 > 组合 &g ...

  2. uml图六种箭头的含义

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

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

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

  4. idea uml图各符号含义_java利器之UML类图详解(IDEA)

    一.概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础. 类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图不仅用于可 ...

  5. UML图 符号的含义

    类(Class) 类(图A )是对象的蓝图,其中包含3个组成部分.第一个是Java中定义的类名.第二个是属性(attributes).第三个是该类提供的方法. 属性和操作之前可附加一个可见性修饰符.加 ...

  6. idea uml图各符号含义_uml中,各种符号的意义总结

    1.依赖关系(在java中类似于delegation):用虚线箭头表示 是类和类之间的一种关系.这种关系是单向的,如果为双向的就可能造成像多线程编程中的死锁现象,程序进入死循环. 2.关联:实线箭头表 ...

  7. UML六种箭头代表含义

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

  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. java中异常回收_理解Java垃圾回收
  2. 用php文件创建表,使用PHP创建单个文件上传表单的最佳方式是什么?
  3. 解决Android 加载大图片OOM
  4. Spring MVC整合Velocity
  5. Codeforces 1215
  6. sqlserver 跨服务器备份表
  7. python 参数拼接token_对python的unittest架构公共参数token提取方法详解
  8. chromiumfx 4.5_巴中的朋友看过来,大型线上车展来了,开拓者最高综合优惠4.5万!...
  9. jquery复选框组清空选中的值_jQuery获取复选框被选中数量及判断选择值的方法详解...
  10. android P监听SD卡热插拔执行symlink软链接的实现
  11. Android SQLite (二) 基本用法
  12. 2017.5.25-5.28 hide捉迷藏 失败总结
  13. 前端实战——实现购物车功能
  14. Mac 原生词典扩展词库
  15. html如何定义mime类型的作用,自定义mime类型、mime类型介绍
  16. ubuntu16 安装 teamview 步骤
  17. 安卓开发:WebView下载文件
  18. javaScript案例——二级联动、三级联动、省市区三级联动
  19. java实现word文件转图片,支持分页
  20. 【19调剂】苏州科技大学2019年硕士研究生招生预调剂公告

热门文章

  1. 在线视频地址 ios播放在线视频
  2. 易语言字符代码表(键盘)
  3. 用Fiddler、Charles和mitmproxy进行手机抓包的配置教程
  4. 个人购买得笔记本电脑都需要做哪些安全防御措施
  5. 电子学会2023年3月青少年软件编程python等级考试试卷(一级)真题,含答案解析
  6. HyperLynx(二十二)DDR(五)DDRx总线时序模型设计
  7. 先锋机器人Pioneer3 DX使用
  8. 记事本字符编码没有Unicode选项
  9. 腾讯云老用户重新注册新账号算新用户吗?
  10. 【Android开发】计算机网络基础知识点,如何完成网络请求过程?