UML-认识六种箭头,轻松读懂UML图
进行系统设计时,UML是一种常见的面向对象结构设计方式,里面的各种箭头表示经常会把人弄糊涂,如果不能正确理解,实现阶段就会出大问题,失之毫厘,谬以千里,下面带着大家认识下6种常用箭头。
1. 泛化
概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展,一般用来表示继承的关系。
表示方法:用实线空心三角箭头表示,如下图。
2. 实现
概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述
表示方法:空心三角形箭头的虚线,实现类指向接口,如下:
3. 依赖
概念:是一种使用的关系,即一个类的实现需要另一个类的协助。如方法参数需要传入另一个类的对象,就表示依赖这个类。
表示方法:虚线箭头,类A指向类B,即A依赖B,如下图:
4.关联
概念:表示类与类之间的联接,它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的。程序中一个类的全局变量引用了另一个类,就表示关联了这个类,关联关系分为单项关联和双向关联。在Java中,单向关联表现为:类A当中使用了类B,其中B作为类A的成员变量。双向关联表现为:类A当中使用了类B作为成员变量;同时类B中也使用了类A作为成员变量。
表示方法:实线箭头,类A指向类B,即A关联B,如下图,消费者种关联了若干产品:
5.聚合
概念:聚合关联关系的一种特例,是强的关联关系。聚合是“整体-个体”之间的关系,即has-a的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,只能从语义级别来区分。
表示方法:尾部为空心菱形的实线箭头(也可以没箭头),车轮和大灯都属于汽车,如下图:
6.组合
概念:组合也是关联关系的一种特例。组合是一种“整体-部分”的关系,即contains-a的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。
表示方法:尾部为实心菱形的实现箭头(也可以没箭头)
UML-认识六种箭头,轻松读懂UML图相关推荐
- 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图
快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图 前言 一.UML类图简介 二.类之间的六大关系及UML类图 1.依赖关系及UML类图表示 2.泛化关系及UML类图表示 3.实现关系及UM ...
- 大疆aeb连拍_一张图带你轻松读懂摄影必备专业术语~
原标题:一张图带你轻松读懂摄影必备专业术语~ 曝光,只是画面光线的明暗程度而已?自动对焦,只用手指一点就万试万灵?AEB连拍和HDR拍摄又有什么区别? 快门.光圈,焦距--搞懂了这些术语,就能拍出一幅 ...
- mysql火焰图_如何读懂火焰图?
原标题:如何读懂火焰图? 文章作者:阮一峰http://www.ruanyifeng.com/原文链接:http://www.ruanyifeng.com/blog/2017/09/flame-gra ...
- 五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- 五分钟读懂UML类图(转)
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- 5分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- 五步读书法,轻松读懂一本书,系统性的了解一个新领域
题图:电子阅读,来源:pixabay 引子 这两年读书还算比较多,而且很多书是关于数字化转型.产业互联网.中国近现代史.计算机和软件史.科技史等等,不是熟悉的技术领域的,和以往的读书经历就有所不同.以 ...
- 问题杂谈:教你读懂UML图
UML图可以说是每个编程人员必须知道的知识,关于UML了相关知识可以专门开设课程进行学习,知识体系在软件工程中很重要,特别是设计到专业的团队开发时,这些东西显得尤为重要.我在这里只是介绍UML图中的基 ...
- uml类图例子_五分钟带你读懂UML类图
目录 先看下面这张类图,包括了UML类图的基本图示法 1.类的表示 2.接口的表示 3.继承关系 4.实现接口 5.关联关系 6.聚合关系 7.合成(组合)关系 8.依赖关系 先看下面这张类图,包括了 ...
最新文章
- 如何在您HTML中嵌入视频和音频
- linux 文件查找及定位
- Hadoop 单机版和伪分布式版安装
- 教你用Python提取Chrome浏览器保存的密码
- 原型模式——创建型模式
- 华为M2平板打不开云课堂_能运行PC应用的安卓生产力平板:华为MatePad Pro 5G登场...
- python3.6安装dlib,一直不成功的解决办法
- 比较有名的CSS,优雅地写css
- 设计模式(六)建造者(创建型)
- excel使用教程_如何系统地学习Excel?
- matlab面源模式反扩散参数研究,基于GIS的大气点源污染高斯烟羽扩散模拟研究
- eclipse卸载插件
- 计算机是uefi启动 不能装win7,如何查看电脑是不是uefi启动|查看win7系统主板是否支持UEFI模式的方法...
- 螳螂科技产研分享:做有生命力的SaaS产品架构
- 读书笔记 - 《六神磊磊读唐诗》
- TortoiseSVN服务器端下载及使用方法
- LeetCode 831. Masking Personal Information【字符串,正则表达式】中等
- MySQL 日期字符串转换
- Linux服务器上使用nginx搭建mp4、flv流媒体服务器
- 使用wro4j和maven在编译期间压缩js和css文件
热门文章
- 在 iPad和 iPhone的浏览器上查看网页源代码
- 自动安装JDK、HADOOP、ZOOKEEPER、HIVE的shell脚本
- 前端手把手教你js实现附件预览和下载得功能实现
- 不可随便给一个人说晚安『你知道它的真正意义吗?不想以后后悔就进来看看吧』
- 用python代码实现 函数调用 烤红薯的例子
- 服务器上的服务一直自动关闭,关于服务器老是自动关闭
- 如何实现年会主分会场视频直播?
- canvas二次、三次贝赛尔曲线 绘制气泡圆角矩形立体桃心
- Navicat报错:2003 - Can‘t connect to MySQL server on ‘xxx‘ (10060 “Unknown error“)
- Cadence Allegro 板框倒角设置方法