组合:组合后的实体消失,则所有构成实体的部件都无意义,可以理解为不能独立存在

定义: 与聚合相比,组合描述的是这样的关联关系,部分离开整体后就没有实际意义了.所以我们说组合是一种很强的关联关系.

例子:

一个公司有人事部,行政部,董事会,然而这些部门都是构成公司,且都是相对于公司而言的,如果公司倒闭了,那么人事部,行政部,董事会都不会存在了。他们总不可能是独立的行政部?为谁行政,别的公司用不着,哈哈!

没有独立存在的意义这叫组合。

聚合:本就是独立的个体,通过聚合产生了新的实体,但实体消失构成实体的还是独立个体,可以独立存在

定义:聚合描述的是这样一种association,在这个association里,一个类是属于一collection.也就是说聚合说的是一种部分与整体的关系,而当部分离开整体时,两者都还有原来的实际意义.聚合是一种很弱的关联关系.

例子:

一辆车由4个轮子,一个车架,一个发动机,大量内饰组成。

他们没组成车那么轮子还是轮子,车驾子还是车驾子,发动机还是发动机,内饰还是内饰。

能够独立存在且有意义,这叫做聚合

联系:不属于以上的关系,且在类的定义中相关

例子:

小王给小美打电话表白,表白失败了,没有组合成一个家庭,但是有打电话的这一过程,这就是联系。

懂了吗?



懂了点个赞,没懂评论里打出你的问题!

一句话教你分清楚UML组合聚合和联系!的更多相关文章

  1. UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

    在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...

  2. 类之间关系理解:组合>聚合>关联>依赖;实现,继承

    类之间关系理解:组合>聚合>关联>依赖:实现,继承 1. 从类之间的关系来看,不外乎以下几种 组合>聚合>关联>依赖:实现,继承 且可以分为以下两类: (1)实现, ...

  3. UML中聚合和组合的区别

    聚合 聚合其实是关联的一个特例,表示了两个对象之间“part of(部分-整体)”的关系,是一种弱关联,部分的生命周期可以超越整体.在UML中,用整体端有空心菱形箭头的双向关联修饰聚合.聚合的示例如下 ...

  4. 一张图让你快速学会UML(聚合、组合、依赖、继承、接口、类)

    有朋友反映,一上来直接讲设计模式就算理解了,也不知道如何画出类图,那么我们就通过一张图,来图解如何应用UML正确表示类与类之间的关系. 这张图完整讲述了鸟类的生存. 首先是类:在UML中,我们用分成三 ...

  5. UML(聚合、组合、依赖、继承、接口、类)

  6. 设计模式存在哪些关联关系,六种关系傻傻分不清--- UML图示详解

    前言 UML俗称统一建模语言.我们可以简单理解成他是一套符号语言.不同的符号对应不同的含义.在之前设计模式章节中我们文章中用到的就是UML类图,UML除了类图意外还有用例图,活动图,时序图. 关于UM ...

  7. Django分表操作、聚合及FQ方法

    聚合 aggregate(*args, **kwargs) # 计算所有图书的平均价格 from django.db.models import Avg Book.objects.all().aggr ...

  8. Python设计模式 - UML - 组合结构图(Composite Structure Diagram)

    简介 组合结构图用来显示组合结构或部分系统的内部构造,包括类.接口.包.组件.端口和连接器等元素,是UML2.0的新增图. 组合结构图侧重复合元素的方式展示系统内部结构,包括与其他系统的交互接口和通信 ...

  9. UML中常见关系详解(泛化、实现、依赖、关联、组合、聚合)

    UML中类与类,已经类与接口,接口与接口的关系有:泛化(generalization),关联(association),依赖(dependency),实现(realization)这几种.   泛化( ...

随机推荐

  1. Spring(三):bean的自动装配

    Bean的自动装配 自动装配是Spring满足bean依赖的一种方式. Spring会在上下文中自动寻找,并自动给bean装配属性 Spring中三种装配方式 在xml中显式的配置. 在java中显式 ...

  2. django类视图的装饰器验证

    django类视图的装饰器验证 django类视图的get和post方法是由View内部调用dispatch方法来分发,最后调用as_view来完成一个视图的流程. 函数视图可以直接使用对应的装饰器 ...

  3. C#多线程(6):线程通知

    目录 AutoRestEvent 类 常用方法 一个简单的示例 解释一下 复杂一点的示例 解释 回顾一下,前面 lock.Monitor 部分我们学习了线程锁,Mutex 部分学习了进程同步,Sema ...

  4. python填写金数据

    ''' 将 main 中的{url}改为真 url 将 setd_data中 {姓名} {纬度} {经度} {地址} 改为确切数据 数据自行参考post 结果判断基于响应中是否包含“谢谢参与”字样 ' ...

  5. QMS产品 - MasterControl 质量管理活动

    主要质量管理活动如下所示: CAPA 纠正措施/预防措施 Corrective Maintenance 纠正措施 Preventive Maintenance 预防措施 Customs Complai ...

  6. C - Roads in the North DFS+树的直径

    Building and maintaining roads among communities in the far North is an expensive business. With thi ...

  7. 杭电 逃离迷宫 BFS

    给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位 ...

  8. tensorflow--filter、strides

    最近还在看<TensorFlow 实战Google深度学习框架第二版>这本书,根据第六章里面对于卷基层和池化层的介绍可以发现,在执行 tf.nn.conv2d 和 tf.nn.max_po ...

  9. Android内存优化—dumpsys meminfo详解

    原创置顶 不死鸟JGC 最后发布于2018-12-24 14:19:28 阅读数 3960 收藏展开dumpsys 介绍Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 命令格式: ...

  10. Jmeter接口测试、性能测试详细介绍

    下面主要就是讲一下Jmeter工具的用法,用法非常简单,比起loadrunner不知道简单多少,并且开源免费~~ 1.接口简介 接口定义 接口: 就是数据交互的入口和出口,是一套标准规范. 接口(硬件 ...