本节向大家学习一下UML箭头、线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条来实现。

UML箭头、线条程序

关系

后面的例子将针对某个具体目的来独立地展示各种关系。虽然语法无误,但这些例子可进一步精炼,在它们的有效范围内包括更多的语义。

依赖(Dependency)

实体之间一个“使用”关系暗示一个实体的规范发生变化后,可能影响依赖于它的其他实例(图D)。更具体地说,它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量,对通过方法调用而获得的一个对象的引用(如下例所示),或者对一个类的静态方法的引用(同时不存在那个类的一个实例)。也可利用“依赖”来表示包和包之间的关系。由于包中含有类,所以你可根据那些包中的各个类之间的关系,表示出包和包的关系。

图D

关联(Association)

实体之间的一个结构化关系表明对象是相互连接的。UML箭头是可选的,它用于指定导航能力。如果没有箭头,暗示是一种双向的导航能力。在Java中,关联(图E)转换为一个实例作用域的变量,就像图E的“Java”区域所展示的代码那样。可为一个关联附加其他修饰符。多重性(Multiplicity)修饰符暗示着实例之间的关系。在示范代码中,Employee可以有0个或更多的TimeCard对象。但是,每个TimeCard只从属于单独一个Employee。

图E

聚合(Aggregation)

聚合(图F)是关联的一种形式,UML箭头代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。聚合也转换成Java中的一个实例作用域变量。7MIrrhk

yC7lR#N8j0

关联和聚合的区别纯粹是概念上的,而且严格反映在语义上。聚合还暗示着实例图中不存在回路。换言之,只能是一种单向关系。

图F

合成(Composition)

合成(图G)是聚合的一种特殊形式,UML箭头暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁。局部不可与其他整体共享。但是,整体可将所有权转交给另一个对象,后者随即将承担生存期职责。

Employee和TimeCard的关系或许更适合表示成“合成”,而不是表示成“关联”。

图G

泛化(Generalization)

泛化(图H)表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中,用extends关键字来直接表示这种关系。

图H

实现(Realization)

实例(图I)关系UML箭头指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。对Java应用程序进行建模时,实现关系可直接用implements关键字来表示。

图I

java uml类图虚线实线_UML类图中箭头和线条的含义和用法相关推荐

  1. UML类图中各种箭头和线条的含义和用法(转)

    UML类图中箭头和线条的含义和用法 1.UML中关系 本节向大家学习一下UML箭头.线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条 ...

  2. 用gif图展示UML中箭头和线条的含义,及搞懂UML类图、时序图和用例图

    前言 新进入一家公司,应对 日常的软件开发工作和交流,要能看懂别人写的代码各个类之间的关系,那就需要您能看懂类图uml中各个类之间的线条.箭头代表什么意思? UML的类图中,一共有以下六大关系: 泛化 ...

  3. java uml类图虚线实线_终于明白六大类UML类图关系了

    UML,全称Unified Modeling Language,统一建模语言.而UML图分为用例图.类图.对象图.状态图.活动图.时序图.协作图.构件图.部署图等9种图. 在面向对象语言中,我们经常看 ...

  4. Echarts折线图虚线实线合并

    配置: option = {xAxis: {},yAxis: {},series: [{// 每个点得横纵坐标data: [[1, 1],[2, 2],[3, 3]],type: 'line',col ...

  5. java语言中if语句的基本语法_java中if语句有哪些形式和用法

    形式一:if语句 if语句是指如果满足某种条件,就进行某种处理.例如,小明妈妈跟小明说"如果你考试得了100分,星期日就带你去游乐场玩".这句话可以通过下面的一段伪代码来描述. 如 ...

  6. java uml图中的关系_UML类图中的关系

    UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 1. 泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有结构和行为.在子类中可以 ...

  7. 图书馆的uml概念类图怎么画_UML科普文,一篇文章掌握14种UML图

    前言 上一篇文章写了一篇建造者模式,其中有几个UML类图,有的读者反馈看不懂了,我们今天就来解决一哈. 什么是UML? UML是Unified Model Language的缩写,中文是统一建模语言, ...

  8. java uml类图教程_Java利器之UML类图详解

    原标题:Java利器之UML类图详解 (点击上方公众号,可快速关注) 来源:伯乐在线专栏作者- Code4Android 如需转载,发送「转载」二字查看说明 前言 UML(Unified Modeli ...

  9. uml 类图_UML 类图

    UML 类图基本符号 UML 类图基本符号含义 1.类(Class):一般是用三层矩形框表示,第一层表示类的名称,第二层表示的是字段和属性,第三层则是类的方法.第一层中,如果是抽象类,需用斜体显示. ...

  10. uml 菱形_uml类图符号介绍 | 学步园

    UML中的6大关系相关英文: 依赖关系 dependency 关联关系 association 聚合关系 aggregation 组合关系 composition 实现 realization 泛化 ...

最新文章

  1. Jupyter Notebook学习笔记
  2. 1 2 5组合100,有多少种方法
  3. 教你使用TensorFlow2判断细胞图像是否感染
  4. 『实践』Matlab实现Flyod求最短距离及存储最优路径
  5. 还不会用springboot写接口?快看这里,手把手操作,一发入魂~
  6. 小舅子的工作每周轮换一次
  7. Java微信运动步数排序设计_微信小程序仿微信运动步数排行-交互
  8. linux vnc服务器6,Linux(RHEL6\CENTOS6\OLE6) 下VNC-SERVER安装与配置
  9. MT4跟单软件多帐户跨平台如何解决喊单账号与跟单账号个别品种合约数量不一致的问题?——Hookswork
  10. 简仿Path的商店表情弹出模块
  11. FFS学习 (FTL)
  12. java读取src路径下的txt文件_python--文件操作(基本篇)
  13. python中列表中字符串按数字排列
  14. 【Day4.7】错过湄南河夜游,去河畔夜市晚餐
  15. 用flash做连线题(线的一端跟随鼠标)
  16. iOS —label自动换行
  17. 数字功放音质好不好?从哪些地方看
  18. 【小家Spring】注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)
  19. Android谷歌推送
  20. bat批处理文件编写

热门文章

  1. 键盘连接计算机接口,终于明白电脑如何连接键盘
  2. 微信小程序常用路由跳转方法
  3. 《概率论与数理统计》——分布函数的概念及性质
  4. Bug解决-IndentationError:expected an indented block
  5. SAP中计划日历计算规则的理解
  6. 数学文章 关于圆锥体积公式的证明
  7. 苹果屏幕镜像_苹果自带的屏幕镜像还能这样用,一秒小屏变大屏,网友:钱没白花...
  8. Telink TLSR9213 使用JTag方式不能正确连接,烧写失败的问题
  9. 进程间通讯的5种方式
  10. MessageFormat的用法