在看一些技术博客的时候,经常会见到博客里画上很多uml图。因为经常会被这几种表达关系的箭头搞混,这里我就把常见的6种箭头表达的含义理一下。

泛化

概念:泛化是一种一般与特殊一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在java中用来表示继承的关系。

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

实现

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

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

依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助。

java中,方法参数需要传入另一个类的对象,就表示依赖这个类。

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

关联

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

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

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

聚合

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

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

组合

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

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

UML图中6种箭头的含义相关推荐

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

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

  2. uml图中的各种箭头_一次搞懂建模语言UML

    Unified Modeling Language (UML)又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到 ...

  3. [转]UML类图中连接线与箭头的含义

    目录: 一些概念 关联 1.双向关联 2.单向关联 3.自身关联(反身关联) 2.依赖 1 单向依赖 2 双向依赖 组合/聚合 1 组合 2 聚合 泛化和实现 1 继承(Derived) 2 接口实现 ...

  4. UML类图中连接线与箭头的含义(转)

    UML类图是描述类之间的关系 概念 类(Class):使用三层矩形框表示. 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是字段和属性. 第三层是类的方法. 注意前面的符号,'+'表示pu ...

  5. UML类图中的各种箭头代表的含义(转自:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html)

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  6. UML图中的关系符号解释

    UML图中的关系符号解释 UML图是程序设计最基本的操作,可以很好地梳理各个类之间的关系,方便我们对代码框架的理解和实现思路的形成: 在面向对象程序设计时,类与类之间的关系主要分为 继承,实现,依赖, ...

  7. 5 在UML图中,( )图用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 5 在UML图中,( )图用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流. 问题1选项 ...

  8. 4 UML 图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它 们之间可能传递的消息,以下不是交互图的是( )

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) UML 图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息,以下不是交互图的是( ...

  9. UML 图中 包含关系和扩展关系的联系和区别

    最近在写毕业论文,对于UML图中的包含和扩展的联系和区别一直不是太了解. 一篇博主是这样描述的 联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的 ...

最新文章

  1. 从分治算法到 MapReduce
  2. PHP密码复杂性验证,JS检查密码强度 检查密码复杂度
  3. matlab无限循环怎么停下来,[求助] 关于matlab无限循环的问题
  4. linux系统普通用户ssh不能登陆,关于CentOS普通用户无法登录SSH问题
  5. python没有菜单栏_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
  6. react项目中的参数解构_一天入门React学习心得
  7. VS2015+OpenCV3.4.2+Win10+简单调用摄像头
  8. layui form表单提php验证,layui表单验证介绍
  9. html横向导航条代码动态伪类,伪类导航栏.html
  10. oom 如何避免 高并发_高并发下的内存管理技巧
  11. 解决微信公众平台图片不可引用
  12. pandas_计算最大回撤
  13. 浪漫--》“慢”+“浪”
  14. linux 启动openfire
  15. java替换一个反斜杠_java反斜杠替换
  16. android 获取年月日
  17. python3制作捧腹网段子页爬虫
  18. 戴尔电脑遭香港高校联合抵制
  19. 假设指令:MOV BX
  20. 消灭EMC的三大利器:电容器/电感/磁珠

热门文章

  1. winscp是什么软件_如何使用winscp,如何使用winscp的详细教程
  2. 如何利用gradio部署基于bert4keras的小说随机生成模型
  3. 按p出现仅计算机然后黑屏了,电脑开机黑屏,提示按任意键继续,怎么破?
  4. TDengine3.0流式计算引擎语法规则介绍
  5. 解决kettle spoon无法连接数据库、无法显示数据库界面
  6. “十亿赌约”即将到期 董明珠和雷军谁将笑到最后?
  7. 标准舆情监测平台解决方案及流程,TOOM舆情监测工作计划有哪些?
  8. 在Excel中调用Python脚本,实现数据自动化处理
  9. Java内功修炼 - 23种设计模式
  10. 【SQLite】SqlLite简介