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. 【转帖】迅为iTOP-iMX6开发板 Ubuntu系统下WiFi模块mt6620的移植

    本文转自迅为论坛 :http://www.topeetboard.com 文档提供的文件如下. wpa_supplicant 拷贝到开发板 Ubuntu 系统的 /sbin 目录下,如何移植 wpa_ ...

  2. 玩一把redis源码(一):为redis添加自己的列表类型

    2019年第一篇文档,为2019年做个良好的开端,本文档通过step by step的方式向读者展示如何为redis添加一个数据类型,阅读本文档后读者对redis源码的执行逻辑会有比较清晰的认识,并且 ...

  3. C# 处理年月日提取时间

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. TCP/IP 协议分层

    协议分层 可能大家对OSI七层模型并不陌生,它将网络协议很细致地从逻辑上分为了7层.但是实际运用中并不是按七层模型,一般大家都只使用5层模型.如下: 物理层:一般包括物理媒介,电信号,光信号等,主要对 ...

  5. CAD参数绘制块引用对象(com接口)

    主要用到函数说明: _DMxDrawX::DrawBlockReference 绘制块引用对象.详细说明如下: 参数 说明 DOUBLE dPosX 插入点的X坐标 DOUBLE dPosY 插入点的 ...

  6. Java IO(一)--File类

    File类不是单指文件,它既可以代表一个文件名称,又可以代表一个目录下的一组文件.可以用来创建.删除.遍历文件等 public static void main(String[] args) { St ...

  7. Vue完成TodoList案例

    写一个简单的TodoList的更实用(文末有彩蛋). 一,使用VUE-CLI脚手架快速搭建一个框架 利用VUE-CLI来自动生成我们项目的前端目录及文件,方法: npm install -g vue- ...

  8. spring springmvc 获取所有url

    @Autowired private RequestMappingHandlerMapping handlerMapping; @Test public void getAllApi() { Map& ...

  9. B4. Concurrent JVM 锁机制(synchronized)

    [概述] JVM 通过 synchronized 关键字提供锁,用于在线程同步中保证线程安全. [synchronized 实现原理] synchronized 可以用于代码块或者方法中,产生同步代码 ...

  10. vue props传值方法

    <template> <div class="hello"> <ul> <li v-for="(item, index) in ...