关系(Relationships):表示基本图示符号之间的关系。


UML定义的关系主要有6种:依赖,泛化,实现,关联,聚合和组合。下面就依次向大家讲解一下这些关系:





关联(Association)
    元素间的结构化关系,是一种弱关系,被关联的原始间通常可以被独立的考虑。
    关联表示的是一种结构关系。它描述了一个事物与另外一个事物的对象之间的拥有关系。例如Library类和Book类之间具有一个一对多的关联关系,它表明一个Library可以有多个Book,但是一个Book仅仅只能被一个Library所拥有。在图形上,关联使用细的实线来表示。一般地,用细实线连接起来的两个类是双向导航的,也就是说可以从一个类导航到另一个类。举例来说,Person类和Company类就是双向导航的。但是,有时也可以将导航限制为单项的,例如User类和Password类——我们可以从User类导航到Password类,但是不能从Password类导航到User类。这种单向的导航关系,在图形上用带有箭头的实线来表示,箭头的方向表示导航的方向。
                                         

聚合(Aggregation)
    关联关系的一种特列,表示部分和整体的关系。UML中通常用带空心菱形头的实线表示,菱形头指向整体。
    聚合表示一种“has-a”的关系,暗示着较大的对象拥有着较小的对象,然后这种拥有关系不是那种一损俱损的强拥有关系,也就是说,“大对象”的生命期结束的时候,“小对象”的生命期并不受影响。举例来说,机场和飞机就是这种聚合关系。
                                       

组合(Composition)
    组合是聚合关系的变种,表示元素间更强的组合关系。如果是组合关系,如果整体被破坏则个体一定会被破坏,而聚合的个体则可能是被多个整体所共享的,不一定会随着某个整体的破坏而被破坏。UML中用带实心菱形头的实线表示,菱形头指向整体。
    组合关系是对聚合关系的加强,它说明大对象不仅仅拥有小对象,而且它们是一个整体,具有共同的生命期,一损俱损。例如链表和节点就是这种关系。
                                          

依赖(Dependency)
    元素A的变化会影响B,但反之不成立,那么B和A是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述。UML中用带箭头的虚线表示,箭头指向被依赖元素。
    依赖是一种使用关系。它表示了一个事物的变化会影响到所有使用它的事物的行为。针对面向对象的“类”来说,如果一个类A使用另外一个类B作为其函数的参数,或者作为本地变量,那么就说A依赖于B。
                                             

泛化(Generalization)
    通常所说的继承关系。UML中用带空心箭头的实线表示,箭头指向一般个体。
    泛化是一种“is-a”的关系,它表示一般事物(父类)和该事物的更具体更特殊的类(子类)之间的一种关系。
                                                

实现(Realize)
    元素A定义一个约定,元素B实现这个约定,则B和A的关系是实现,B realize A。这个关系最常用于接口。UML中用空心箭头和虚线表示,箭头指向定义约定的元素。
    在类的实现关系中,一个类描述了另外一个类必须实现的契约,即接口。实现是一种和泛化、依赖都不痛的另外一种关系,但不可否认的是,实现和泛化、依赖有着千丝万缕的联系,它是泛化和依赖在语义上的接口:从某种程度上说,可以认为实现是一种泛化,也可以认为实现是一种依赖。

UML 之 UML中的关系相关推荐

  1. 通过简单例子 | 快速理清 UML类图中六大关系

    类与类之间的六大关系 泛化 ( Generalization ) -> 表继承关系 实现 ( Realization ) 关联 ( Association ) 聚合 ( Aggregation ...

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

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

  3. uml中的关系-类图关系

    概述 UML类图中的关系包括: 关联(Association).聚合(Aggregation).组合(Composition).依赖(Dependency).泛化(Generalization).实现 ...

  4. UML建模语言中的类图

    实验目的 通过上机实验,掌握类图的语法和规则,深入理解类图的概念 实验环境 Window下安装StarUML 实验内容 介绍类图的基本语法与规则(可以用图形表述): UML类图中的关系分为四种:泛化. ...

  5. 区分 UML 类图中的几种关系

    区分 UML 类图中的几种关系   2010-12-23 作者:fnw 来源:网络      区分 UML 类图中的几种关系  UML 类图中的 "关联关系(association) &qu ...

  6. UML建模中的关系画法

    UML建模中的关系包括:依赖.泛化.关联.实现.聚合.组合等. 很多人看到UML类图后都看不懂,为什么? 因为基础的关系没有掌握,各个框之间的关系是啥都不明白,怎么能懂类图呢.不管是类图.用例图.指示 ...

  7. UML模型设计中的关系

    在UML种,关系是非常重要的语义,它抽象出对象之间的联系,让对象构成某个特定的结构.本节将列举出UML所定义的关系,并解释它们的语义. 关联关系(association) 关联关系是用一条直线表示的, ...

  8. UML:UML中的关系

    关系:在UML中,关系是重要的语义. --关联关系:用一条直线表示,A-B,描述不同类的对象之间的结构关系. 关联关系表示一个对象了解其他对象,即关联关系描述了某个对象在一段时间内一直"知道 ...

  9. 一张图看明白UML类图中的6种关系

    在UML类图中,有6种关系,分别是: (1)泛化(Generalization),简单说就是父类和子类的关系,extends/: (2) 实现(Realization),简单说就是接口和实现的关系,i ...

  10. UML类图中的六大关系:关联(单向、双向、自关联)、聚合、组合、依赖、继承、实现

    一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个A类,它包含c.d两个属性,以及methodA方法. 那么 ...

最新文章

  1. python接口自动化5-Json数据处理
  2. 【带你重拾Redis】Redis常见知识点
  3. 13-MySQL面向对象设计:数据表与Java对象对应关系
  4. 10.27 afternoon similated match
  5. 《中国人工智能学会通讯》——9.2 误差的本质
  6. (转载)C#中如何获取当前路径的几种方法
  7. json中保存数据与解析数据与python中json模块做对应关系
  8. bootstrap设计登录页面_微服务和VUE(2) 搭建前端登录界面
  9. OpenCV--SVM多分类问题
  10. ThinkPad T410 拆机(高清)
  11. Prometheus Cadvisor 监控k8s
  12. python学习笔记_week19
  13. 2021-2027全球与中国筒式过滤器外壳市场现状及未来发展趋势
  14. Dreamweaver网页作业——紫罗兰永恒花园动漫价绍网页 7页,含有table表格,js表单验证还有首页视频。以及列表页。浮动布局。div+css+js
  15. 移动硬盘linux读取失败,无法读取移动硬盘|无法识别的6种修复方法插图
  16. table宽度一样宽_table自适应宽度
  17. python Django 快捷键
  18. mysql同步数据_实现MySQL数据库数据的同步方法介绍
  19. MOS管在缓启电路中的应用差异
  20. 网名闲话之“茶乡浪子”

热门文章

  1. 通过webSocket实现app产生的数据在网页实时显示
  2. Redis分布式算法原理(重点)
  3. python连乘函数_(Python3) 连加 连乘 代码
  4. Python下载网易云歌单歌曲,这个脚本你给多少分!
  5. 英特尔核显自定义分辨率_如何在新版英特尔核芯显卡控制面板中自定义显示器分辨率...
  6. 压缩为王-阿里第五届中间件复赛总结
  7. 禁用微信浏览器字体调整的方法
  8. SpringBoot将数据放入Excel里面通过浏览器直接下载到本地
  9. python画极坐标图_Python matplotlib绘制极坐标图
  10. NOJ 1116 哈罗哈的大披萨 【淡蓝】 状态压缩DP