【菜鸟也疯狂UML系列】——浅析UML四种关系
在UML中。关系是很重要的。它抽象出对象之间的联系,让对象构成某个联系起来的结构。以下将简要分析一下UML中的四种关系:关联。依赖,泛化,实现。
一、举例罗列
1、关联(Association)
关联是用来连接有结构关系的对象,能够连接同样类或者不同类。也能够是双向关联和单向关联。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(1)聚合(Aggregate)
表示的是实体对象之间的关系,表达总体与部分的关系,总体由部分构成,可是此关系不是强依赖关系,也就是说,部分不会依据总体的消失而消失。
聚合关系用一条空心菱形箭头直线表示。箭头指向总体。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(2)组合(Composition)
表示实体对象关系,表达总体与部分的关系,总体拥有部分。是强依赖的聚合关系,部分会随着总体的消失而消失。
组合关系用一条实心菱形箭头直线表示,箭头指向组合的母对象,也就是总体,表示部分属于总体。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2、依赖(Dependency)
依赖关系用一条带箭头的虚线表示,箭头指向被依赖的对象。也能够表使用关系。
3、泛化(Generalization)
用空心箭头的直线表示,箭头指向被继承的对象。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
4、实现(Realize)
二、比較分析
1、聚合VS组合
两者都是表示总体与部分的关系,可是不同的是,组合是强依赖聚合关系。部分脱离总体便不再存在。而聚合关系。部分脱离总体还能够继续存在。
2、关联VS依赖
刚開始分不清关联和依赖,后来看了视频里讲的是依赖能够作为使用关系,在不同场景下的使用关系。没有场景就没有关系;而关联不同,关联表示的是两个对象之间的关系。不会消失的。
3、泛化VS实现
但从绘图方面来看。除了一个是直线。一个是虚线外没有什么不同的。
关系的强弱也一样。
依赖<关联<聚合<组合<泛化=实现
三、总结
【菜鸟也疯狂UML系列】——浅析UML四种关系的更多相关文章
- UML中类图的四种关系及其代码实现
在uml图中 最复杂的也就是泛化,实现.依赖,关联.这四种关系了,假设弄清了这几种关系那么在理解UML图的时候就会变得轻车熟路了! 假设你对着几种关系一点都不熟悉的话能够看一下uml中的四种关系.这篇 ...
- UML 之 四种关系
学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是 关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...
- UML类图中类与类的四种关系图解
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- ZT 类与类之间的四种关系
csdn上一个好贴子:http://bbs.csdn.net/topics/390646332 类与类之间的四种关系1.依赖(Dependency) 类A在类B中作为一个成员函数的参数或者是返回值 ...
- uml的四种关系
UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...
- UML中的四种关系总结
UML中的关系主要包含四种:关联关系.依赖关系.泛化关系.实现关系.当中关联关系还包含聚合关系和组合关系. 1. 关联关系(Association) 关联关系式一种结构化的关系,是指一种对象和还有一种 ...
- 盘点UML中的四种关系
生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...
- UML常用图的几种关系的总结
在UML的 类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Com ...
- UML中类之间的几种关系
类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...
随机推荐
- 234. Palindrome Linked List【Easy】【判断链表是否回文】
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- Linux操作命令(五)
find . -name ”*.c" -exec ./command.sh {} \; 本次实验将介绍 Linux 命令中 find 和 xargs 命令的用法. find xargs 1. ...
- POJ1958 Strange Towers of Hanoi [递推]
题目传送门 Strange Towers of Hanoi Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3117 Ac ...
- python脚本实现ipv6的ddns功能
话说在国家的推动下,ipv6地址已经开始优先在三大运营商推广,我自己家用的就是联通宽带100M光纤入户.有一次,不经意间发现,我们的光猫竟然获取到了ipv6地址,于是我开始浮想联翩. 说干就干,我先是 ...
- SCU - 4439 Vertex Cover (图的最小点覆盖集)
Vertex Cover frog has a graph with \(n\) vertices \(v(1), v(2), \dots, v(n)\) and \(m\) edges \((v(a ...
- 算法练习(js)
1. 问题:Spinal Tap Case 将字符串转换为 spinal case.Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也 ...
- 【hdu1280】前M大的数
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 【线段树】hdu6183 Color it
题意: 维护一个数据结构,支持三种操作: ①在平面上(x,y)处添加一个颜色为c的点. ②询问平面上(1,y1)-(x,y2)范围内,有多少种不同颜色的点. ③清除平面上所有点. 颜色数量很少,对于每 ...
- C#中的Stack
Stack(栈) 是一种先进后出的对象集合,它是一个泛型,所表示的类型可以为int,string这样的常见类型,也可以为用户自定义类型. 属性 描述 Count 获取 Stack 中包含的元素个数. ...
- GMT-CMSP系统维护步骤整理
一.关闭前端各服务1.北京代理,韩国代理节点nginx/etc/init.d/nginx stop2.关闭WEB1,WEB2 NGINX和PHPpkill nginx && pkill ...