https://www.cnblogs.com/jiaoyiping/p/9769835.html

UML的类图中,一共有以下六大关系:

泛化(Generalization), 实现(Realization), 依赖(Dependence),关联(Association),聚合(Aggregation) ,组合(Composition)

下面结合具体的类图来描述以下这几种关系

泛化(Generalization)

也就是继承:表示is-a的关系,是对象之间耦合度最大的一种关系,子类继承父类(或者是子接口继承父接口),在Java中使用extends关键字来表示,在类图中使用带三角箭头的实线表示,箭头从子类指向父类。

实现(Realization):

指的是两个实体之间的一种合同关系,一个实体定义一个合同,而另外一个实体保证履行该合同,这就对应于Java中的一个类实现了一个接口,在Java中使用implements 关键字来表示,在类图上,使用虚线 + 空心三角形的方法来表示,箭头从实现类指向接口

依赖(Dependency)

可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用,或者类A引用了类B的静态方法;在类图上,使用虚线 + 箭头来表示,箭头的方向,从依赖的类指向被依赖的类

关联(Assocation)

就是对象之间的一种依赖关系,比如客户类和订单类之间的关系,这种关系通常使用类的属性表达。关联又分为一般关联、聚合关联与组合关联. 表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量,在类图使用带箭头的实线表示,箭头从使用类指向被关联的类 可以是单向和双向

聚合(Aggregation)

聚合算是关联的一种形式,表示has-a的关系,是一种不稳定的包含关系。较强于一般关联,有整体与局部的关系,并且没有了整体,局部也可单独存在。如公司和员工的关系,公司包含员工,但如果公司倒闭,员工依然可以换公司。在类图使用空心的菱形表示,菱形在整体的那一侧

组合

组合(Composition):表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;订单和订单选项的关系。在类图使用实心的菱形表示,菱形从局部指向整体。

多重性(Multiplicity)

用于说明组合关系中的对象的对比数量()
通常有以下符合:

1 :一个

* :零个或多个

1..* :一个或多个

0..1 :零个或一个

比如:

一个公司可能有一个或多个部门,公司和部门的关联关系上,部门端是 1..*

一个部门只能属于一个公司,在关联关系上, 公司端是 1

一个公司有一个公司名称,在公司名称那端是 1

一个公司名称只能属于一个公司,在公司那端也是 1

一个公司可能有一个或者多个董事,在董事那端是 1..*

一个董事也可以在多家公司任职,所以在公司那端也是 1..*

UML的类图中各箭头的含义相关推荐

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

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

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

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

  3. UML类图中符号的含义

    UML类图中符号的含义 类图中的基本符号由虚线.箭头.实线.空心三角形.空心菱形.实心菱形组成,这些符号的组合构成类图的基本符号 实线+箭头 表示关联关系 关联关系分类 自身关联 表示自身拥有一个自身 ...

  4. [跟我学UML] UML类图中的泛化

    本文基于UML规范,介绍了类图中的泛化.此外,还通过举例说明来帮助读者加深理解. ...打开附件阅读全文.

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

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

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

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

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

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

  8. UML类图中方法(操作)的表示格式

    网上很少看到针对于类图中方法的格式进行探讨的文章,而类图本身也不是那么的死板,但是一些既定的规则.通用性的格式,使用起来还是会更加便于理解与分享.下面讲一下类图中方法的规范表示方式. [可视性]操作名 ...

  9. UML学习-----类图

    1.什么是类图 类图(Class diagram)主要用于描述系统的结构化设计.类图也是最常用的UML图,用类图可以显示出类.接口以及它们之间的静态结构和关系. 2.类图的元素 在类图中一共包含了以下 ...

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

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

最新文章

  1. 人脸识别损失函数综述(附开源地址)
  2. 开发日记-20190709 关键词 读书笔记 《Perl语言入门》Day 6
  3. Qt Dock Widgets 官方示例的翻译
  4. CPP第四版第五章:位操作符、sizeof及部分编程习题
  5. 如何分析IBASE对应的icon无法正常显示的问题
  6. AtCoder Beginner Contest 194 E - Mex Min 思维
  7. 【前端面试题】关于一些js的一些面试题(金融行业),我和面试官扯了三个小时
  8. 4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例
  9. asp.net中sitemap的简单实用
  10. Vue父子组件生命周期触发顺序
  11. 破解 Ashley Madison 1100万个口令
  12. 一行命令搞定node.js 版本升级
  13. DELL 灵越系列笔记本 1427 更换显示屏
  14. unity-MMD制作
  15. html怎么引入字体库,CSS引入外部字体
  16. 苹果蕉文案:水果店苹果蕉推广文案
  17. 电脑变无线打印服务器,废品再利用 老电脑变网络打印服务器
  18. QT设置非主窗口的背景图片和主窗口的背景图片(详细版)
  19. 教你使用MATLAB制作一款 图形验证码 生成器(app designer)
  20. CAN Bus cable simulation

热门文章

  1. 关于String s = new String(xyz); 创建几个对象的问题
  2. AtCoder Beginner Contest 083
  3. [转]技术路线的选择重要但不具有决定性
  4. 【状压DP】OpenJ_POJ - C17K Lying Island
  5. 结构化CSS设计思维
  6. 20145316《信息安全系统设计基础》期中总结
  7. 《ASP网络编程从入门到精通》
  8. windows系统mysql-5.7官方绿色版zip包安装教程
  9. 命令解析optparse
  10. bzoj4033 [HAOI2015]树上染色(树形)