UML图中6种箭头的含义
在看一些技术博客的时候,经常会见到博客里画上很多uml图。因为经常会被这几种表达关系的箭头搞混,这里我就把常见的6种箭头表达的含义理一下。
泛化
概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在java中用来表示继承的关系。
表示方法:用实线空心三角箭头表示。
实现
概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述
表示方法:空心三角形箭头的虚线,实现类指向接口
依赖
概念:是一种使用的关系,即一个类的实现需要另一个类的协助。
java中,方法参数需要传入另一个类的对象,就表示依赖这个类。
表示方法:虚线箭头,类A指向类B。
关联
概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。
java中一个类的全局变量引用了另一个类,就表示关联了这个类
表示方法:实线箭头,类A指向类B
聚合
概念:聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分;
表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B
组合
概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。
表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类A指向类B
UML图中6种箭头的含义相关推荐
- uml图中的各种箭头_设计模式学习笔记(二):UML与面向对象设计原则
1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6 ...
- uml图中的各种箭头_一次搞懂建模语言UML
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到 ...
- [转]UML类图中连接线与箭头的含义
目录: 一些概念 关联 1.双向关联 2.单向关联 3.自身关联(反身关联) 2.依赖 1 单向依赖 2 双向依赖 组合/聚合 1 组合 2 聚合 泛化和实现 1 继承(Derived) 2 接口实现 ...
- UML类图中连接线与箭头的含义(转)
UML类图是描述类之间的关系 概念 类(Class):使用三层矩形框表示. 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是字段和属性. 第三层是类的方法. 注意前面的符号,'+'表示pu ...
- UML类图中的各种箭头代表的含义(转自:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html)
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- UML图中的关系符号解释
UML图中的关系符号解释 UML图是程序设计最基本的操作,可以很好地梳理各个类之间的关系,方便我们对代码框架的理解和实现思路的形成: 在面向对象程序设计时,类与类之间的关系主要分为 继承,实现,依赖, ...
- 5 在UML图中,( )图用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流
标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 5 在UML图中,( )图用于建模系统的动态行为,它描述活动的顺序,展现从一个活动到另一个活动的控制流. 问题1选项 ...
- 4 UML 图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它 们之间可能传递的消息,以下不是交互图的是( )
标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) UML 图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息,以下不是交互图的是( ...
- UML 图中 包含关系和扩展关系的联系和区别
最近在写毕业论文,对于UML图中的包含和扩展的联系和区别一直不是太了解. 一篇博主是这样描述的 联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的 ...
最新文章
- 从分治算法到 MapReduce
- PHP密码复杂性验证,JS检查密码强度 检查密码复杂度
- matlab无限循环怎么停下来,[求助] 关于matlab无限循环的问题
- linux系统普通用户ssh不能登陆,关于CentOS普通用户无法登录SSH问题
- python没有菜单栏_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
- react项目中的参数解构_一天入门React学习心得
- VS2015+OpenCV3.4.2+Win10+简单调用摄像头
- layui form表单提php验证,layui表单验证介绍
- html横向导航条代码动态伪类,伪类导航栏.html
- oom 如何避免 高并发_高并发下的内存管理技巧
- 解决微信公众平台图片不可引用
- pandas_计算最大回撤
- 浪漫--》“慢”+“浪”
- linux 启动openfire
- java替换一个反斜杠_java反斜杠替换
- android 获取年月日
- python3制作捧腹网段子页爬虫
- 戴尔电脑遭香港高校联合抵制
- 假设指令:MOV BX
- 消灭EMC的三大利器:电容器/电感/磁珠
热门文章
- winscp是什么软件_如何使用winscp,如何使用winscp的详细教程
- 如何利用gradio部署基于bert4keras的小说随机生成模型
- 按p出现仅计算机然后黑屏了,电脑开机黑屏,提示按任意键继续,怎么破?
- TDengine3.0流式计算引擎语法规则介绍
- 解决kettle spoon无法连接数据库、无法显示数据库界面
- “十亿赌约”即将到期 董明珠和雷军谁将笑到最后?
- 标准舆情监测平台解决方案及流程,TOOM舆情监测工作计划有哪些?
- 在Excel中调用Python脚本,实现数据自动化处理
- Java内功修炼 - 23种设计模式
- 【SQLite】SqlLite简介