UML中的四种关系总结
UML中的关系主要包含四种:关联关系、依赖关系、泛化关系、实现关系。当中关联关系还包含聚合关系和组合关系。
1、 关联关系(Association)
关联关系式一种结构化的关系,是指一种对象和还有一种对象有联系。给定关联的两个类。能够从当中的一个类的对象訪问到还有一个类的相关对象。
关联关系用一条实线表示。
演示样例
1.1、 聚合关系(Aggregation)
聚合是关联的特例。
聚合是表示总体与部分的关系,即has a 关系。聚合关系中的总体和部分是能够分离的,他们能够具有各自的生命周期,部分能够数据多个总体对象。
演示样例
1.2、 组合关系(Composition)
组合关系式关联关系的一种特例。他体现的是一种contains a的关系。这样的关系比聚合更强。它相同也体现了总体与部分的关系。此时总体与部分是不可分的,总体的生命周期结束也就意味着部分的生命周期结束。
演示样例
`
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFzY2Y=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2、 依赖关系(Dependency)
依赖关系式类与类之间的连接,表示一个类依赖于还有一个类的定义。当中一个类元素是独立的,还有一个类元素不是独立的,它依赖与独立的那个类。
假设独立的类改变,将影响依赖与它的那个类。
演示样例
3、泛化关系(Generalization)
泛化关系式一个类(子类、子接口)继承另外一个类(父类、父接口)的功能。
子类还能够添加自己的新功能。继承是类与类或者接口与几口之间最常见的关系之中的一个。
4、实现关系(Realization)
实现关系指的是一个class类实现interface接口(能够是多个)的功能;实现是类与接口之间最常见的关系。
演示样例:
比較
聚合关系VS组合关系
组合跟聚合差点儿同样,唯一差别就是“部分”不能脱离“总体”而单独存在。
关联关系VS聚合关系
关联关系中两个类是出于同样的层次。而聚合关系中两个类是出于不平等的层次,一个表示总体,一个表示部分。
UML中的四种关系总结的更多相关文章
- 盘点UML中的四种关系
生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...
- 【转】UML中的几种关系详细解析
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...
- uml中的几种关系
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- UML中的几种关系(UML Relationships)
依赖(Dependency) 依赖可以理解为一个类A使用到了另一个类B,而这种使用关系是具有偶然性的.临时性的.非常弱的,但是B类的变化会影响到A:比如某人要过河,需要借用一条船,此时人与船之间的关系 ...
- 【菜鸟也疯狂UML系列】——浅析UML四种关系
在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...
- UML中类图的四种关系及其代码实现
在uml图中 最复杂的也就是泛化,实现.依赖,关联.这四种关系了,假设弄清了这几种关系那么在理解UML图的时候就会变得轻车熟路了! 假设你对着几种关系一点都不熟悉的话能够看一下uml中的四种关系.这篇 ...
- UML---UML中的几种关系(依赖,关联,泛化,实现)
关于设计模式的总结没有落实到代码上,而且设计模式自己确实动手实现的非常少.所以在这一周里,除了看网站开发的视频,着手开始对设计模式进行实现以下.设计模式非常经典,每次看都有不同的收获,写一下自己的收获 ...
- UML 之 四种关系
学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是 关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...
- UML类图中类与类的四种关系图解
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
随机推荐
- 针对windowsserver 创建iis站点访问出错的解决方案(HTTP 错误 500.19 - Internal Server Error)
错误如下: 服务器错误 Internet信息服务 7.0 错误摘要HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详 ...
- emil 的使用
摘抄自别人 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段 --用于指明发 ...
- laravel如何自定义控制器目录
默认控制器在App\Http\Controllers目录下,如何自定义目录呢? 首先我们看一下laravel的请求周期 我们看一下服务提供者RouteServicePrivder文件中的一个函数 /* ...
- 下载GitHub指定目录的文件
使用网站 https://minhaskamal.github.io/DownGit/#/home
- CAD参数绘mcdbsolid对象(网页版)
主要用到函数说明: _DMxDrawX::DrawSolid 绘McDbSolid对象.详细说明如下: 参数 说明 DOUBLE dX1 第一个点X DOUBLE dY1 第一个点Y DOUBLE d ...
- jQuery任意标签锚点跳转插件
// 任意锚点平滑跳转插件// 2010-07-15 v1.0(function($){ $.fn.zxxAnchor = function(options){ var defaults = { ie ...
- BZOJ 3996 线性代数 最小割
题意: 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的转置.输出D 分析: 这道题比较绕,我们需要看清题目中那个式子的本 ...
- 笔试算法题(06):最大连续子数组和 & 二叉树路径和值
出题:预先输入一个整型数组,数组中有正数也有负数:数组中连续一个或者多个整数组成一个子数组,每个子数组有一个和:求所有子数组中和的最大值,要求时间复杂度O(n): 分析: 时间复杂度为线性表明只允许一 ...
- Python数据类型方法
Python认为一切皆为对象:比如我们初始化一个list时: li = list('abc') 实际上是实例化了内置模块builtins(python2中为__builtin__模块)中的list类: ...
- assert.ok()详解
assert.ok(value[, message]) 测试 value 是否为真值.它等同于 assert.equal(!!value, true, message). 如果 value 不是真值, ...