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中的四种关系总结的更多相关文章

  1. 盘点UML中的四种关系

    生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...

  2. 【转】UML中的几种关系详细解析

    UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...

  3. uml中的几种关系

    这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...

  4. UML中的几种关系(UML Relationships)

    依赖(Dependency) 依赖可以理解为一个类A使用到了另一个类B,而这种使用关系是具有偶然性的.临时性的.非常弱的,但是B类的变化会影响到A:比如某人要过河,需要借用一条船,此时人与船之间的关系 ...

  5. 【菜鸟也疯狂UML系列】——浅析UML四种关系

    在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...

  6. UML中类图的四种关系及其代码实现

    在uml图中 最复杂的也就是泛化,实现.依赖,关联.这四种关系了,假设弄清了这几种关系那么在理解UML图的时候就会变得轻车熟路了! 假设你对着几种关系一点都不熟悉的话能够看一下uml中的四种关系.这篇 ...

  7. UML---UML中的几种关系(依赖,关联,泛化,实现)

    关于设计模式的总结没有落实到代码上,而且设计模式自己确实动手实现的非常少.所以在这一周里,除了看网站开发的视频,着手开始对设计模式进行实现以下.设计模式非常经典,每次看都有不同的收获,写一下自己的收获 ...

  8. UML 之 四种关系

    学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是  关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...

  9. UML类图中类与类的四种关系图解

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

随机推荐

  1. cesium 原理 之 command拼接

    VAO VAO(Vertext Array Object),中文是顶点数组对象.之前在<Buffer>一文中,我们介绍了Cesium如何创建VBO的过程,而VAO可以简单的认为是基于VBO ...

  2. 360浏览器 收藏夹 ico 缓存 目录

    C:\Users\Administrator\AppData\Roaming\360se6\apps\data\users\default\data\ico

  3. vc++实现控制USB设备启用与否

    #include <WINDOWS.H>      #include <TCHAR.H>      #include <SETUPAPI.H>      //#in ...

  4. 解决dom4j加载xml文件性能慢的问题

    在代码中使用: 1: DocumentHelper.parseText 2: SAXReader reader = new SAXReader(); Document extdocument = re ...

  5. python note of class

    reference: https://www.zhihu.com/question/27699413/answer/267906889 摘要: 我们在描述一个真实对象(物体)时包括两个方面:它可以做什 ...

  6. 浏览器通知js授权

    // 获得权限 Notification.requestPermission(); // 点击按钮 document.querySelector('#button').addEventListener ...

  7. CSU 2018年12月月赛 A 2213: Physics Exam

    Description 高中物理老师总认为给学生文本形式的问题比给纯计算形式的问题要求更高.毕竟,学生首先得阅读和理解问题. 因此,他们描述一个问题不像”U=10V,I=5A,P=?”,而是”有一个含 ...

  8. 新增feeds模块

    很简单,参考<产品差异化定制> 1.在fees/luci/model下面新增文件夹,必须的有:Makefile 和 luasrc/controller/admin/xxx.lua 2.执行 ...

  9. ubuntu14.04 mysql-workbench Connecting to MySQL server ... Native table 'performance_schema'.'session_variables' has the wrong structure错误解决

    使用的mysql版本: mysql  Ver 14.14 Distrib 5.7.9, for Linux (x86_64) using  EditLine wrapper 打开shell命令 1.输 ...

  10. odoo 权限配置讲解

    今天来讲解一下odoo权限配置的简单讲解,配合公司开发的权限模块的使用,进行odoo权限配置的说明 BaseSecurityExtend 2.0模块 这是公司自主开发的一款针对odoo菜单级别进行可视 ...