UML的类图中各箭头的含义
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的类图中各箭头的含义相关推荐
- UML类图中各种箭头和线条的含义和用法(转)
UML类图中箭头和线条的含义和用法 1.UML中关系 本节向大家学习一下UML箭头.线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条 ...
- 区分 UML 类图中的几种关系
区分 UML 类图中的几种关系 2010-12-23 作者:fnw 来源:网络 区分 UML 类图中的几种关系 UML 类图中的 "关联关系(association) &qu ...
- UML类图中符号的含义
UML类图中符号的含义 类图中的基本符号由虚线.箭头.实线.空心三角形.空心菱形.实心菱形组成,这些符号的组合构成类图的基本符号 实线+箭头 表示关联关系 关联关系分类 自身关联 表示自身拥有一个自身 ...
- [跟我学UML] UML类图中的泛化
本文基于UML规范,介绍了类图中的泛化.此外,还通过举例说明来帮助读者加深理解. ...打开附件阅读全文.
- java uml图中的关系_UML类图中的关系
UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 1. 泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有结构和行为.在子类中可以 ...
- 一张图看明白UML类图中的6种关系
在UML类图中,有6种关系,分别是: (1)泛化(Generalization),简单说就是父类和子类的关系,extends/: (2) 实现(Realization),简单说就是接口和实现的关系,i ...
- UML类图中的六大关系:关联(单向、双向、自关联)、聚合、组合、依赖、继承、实现
一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个A类,它包含c.d两个属性,以及methodA方法. 那么 ...
- UML类图中方法(操作)的表示格式
网上很少看到针对于类图中方法的格式进行探讨的文章,而类图本身也不是那么的死板,但是一些既定的规则.通用性的格式,使用起来还是会更加便于理解与分享.下面讲一下类图中方法的规范表示方式. [可视性]操作名 ...
- UML学习-----类图
1.什么是类图 类图(Class diagram)主要用于描述系统的结构化设计.类图也是最常用的UML图,用类图可以显示出类.接口以及它们之间的静态结构和关系. 2.类图的元素 在类图中一共包含了以下 ...
- 图书馆的uml概念类图怎么画_UML科普文,一篇文章掌握14种UML图
前言 上一篇文章写了一篇建造者模式,其中有几个UML类图,有的读者反馈看不懂了,我们今天就来解决一哈. 什么是UML? UML是Unified Model Language的缩写,中文是统一建模语言, ...
最新文章
- 人脸识别损失函数综述(附开源地址)
- 开发日记-20190709 关键词 读书笔记 《Perl语言入门》Day 6
- Qt Dock Widgets 官方示例的翻译
- CPP第四版第五章:位操作符、sizeof及部分编程习题
- 如何分析IBASE对应的icon无法正常显示的问题
- AtCoder Beginner Contest 194 E - Mex Min 思维
- 【前端面试题】关于一些js的一些面试题(金融行业),我和面试官扯了三个小时
- 4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例
- asp.net中sitemap的简单实用
- Vue父子组件生命周期触发顺序
- 破解 Ashley Madison 1100万个口令
- 一行命令搞定node.js 版本升级
- DELL 灵越系列笔记本 1427 更换显示屏
- unity-MMD制作
- html怎么引入字体库,CSS引入外部字体
- 苹果蕉文案:水果店苹果蕉推广文案
- 电脑变无线打印服务器,废品再利用 老电脑变网络打印服务器
- QT设置非主窗口的背景图片和主窗口的背景图片(详细版)
- 教你使用MATLAB制作一款 图形验证码 生成器(app designer)
- CAN Bus cable simulation
热门文章
- 关于String s = new String(xyz); 创建几个对象的问题
- AtCoder Beginner Contest 083
- [转]技术路线的选择重要但不具有决定性
- 【状压DP】OpenJ_POJ - C17K Lying Island
- 结构化CSS设计思维
- 20145316《信息安全系统设计基础》期中总结
- 《ASP网络编程从入门到精通》
- windows系统mysql-5.7官方绿色版zip包安装教程
- 命令解析optparse
- bzoj4033 [HAOI2015]树上染色(树形)