浅谈UML中的聚合与组合
欢迎大家关注我的新书《Spring Boot趣味实战课》
京东 当当 天猫
大家都知道UML的类图中一般包含五种关系即 关联 聚合 组合 泛化 依赖 有些人可能会感觉组合跟聚合有点难区分 说难其实是相对其他几种关系而言 实际上想分清这两种关系一点也不难
聚合跟组合其实都属于关联 只不过它们是两种特殊的关联 因为本是同根生 所以它们之间难免会有相似之处 下面让我们一起来看一下它们之间有何不同
聚合与组合的概念相信不用我在此赘述大家就已经了解了 下面直接上例子
public class GooseGroup{public Goose goose;public GooseGroup(Goose goose){this.goose = goose;}}
public class Goose{public Wings wings;public Goose(){wings=new Wings();}}
雁群类(GooseGroup)的构造函数中要用到大雁(Goose)作为参数把值传进来 大雁类(Goose)可以脱离雁群类而独立存在
大雁类(Goose)在实例化之前 一定要先实例化翅膀类(Wings) 两个类紧密耦合在一起 它们有相同的生命周期 翅膀类(Wings)不可以脱离大雁类(Goose)而独立存在
在聚合关系中,客户端可以同时了解雁群类和大雁类,因为他们都是独立的
而在组合关系中,客户端只认识大雁类,根本就不知道翅膀类的存在,因为翅膀类被严密的封装在大雁类中。
浅谈UML中的聚合与组合相关推荐
- DDD中的聚合和UML中的聚合以及组合的关系
UML: 聚合关系:成员对象是整体的一部分,但是成员对象可以脱离整体对象独立存在. 如汽车(Car)与引擎(Engine).轮胎(Wheel).车灯(Light)之间的关系为聚合关系,引擎.轮胎.车灯 ...
- UML中的聚合与组合
总结一下聚合和组合的关系. 组合关系(Composition):部分和整体之间具有相同的生命周期,当整体消亡后,部分也将消亡.就像大雁的翅膀和大雁是组合关系.代码实现时,部分类在整体类的构造函数中被构 ...
- 浅谈UML中常用的几种图——鲁棒图
什么是鲁棒图 鲁棒图包含 3 种元素(如图 8-2 所示),它们分别是边界对象.控制对象.实体对象: 边界对象对模拟外部环境和未来系统之间的交互进行建模.边界对象负责接收外部输入,处理内部内容的解释, ...
- 浅谈UML类图中类之间的5种关系
什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包 ...
- python中zip的使用_浅谈Python中的zip()与*zip()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables ...
- rnss和rdss的应用_浅谈北斗二代RDSS和RNSS组合技术.doc
浅谈北斗二代RDSS和RNSS组合技术 浅谈北斗二代RDSS和RNSS组合技术 [摘 要]正在组网建设的"北斗二代"系统不仅完全继承兼容"北斗一代",在用户容量 ...
- rnss和rdss的应用_浅谈北斗二代RDSS与RNSS组合技术
龙源期刊网 http://www.qikan.com.cn 浅谈北斗二代 RDSS 与 RNSS 组合技术 作者:陈德旭 王成皇 刘延鹏 来源:<中国科技博览> 2015 年第 07 期 ...
- 浅谈Android中的MVP与动态代理的结合
浅谈Android中的MVP与动态代理的结合 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 在Android开发平台上接触MVP足足算起来大概已经有一个年头左右.从最开始到现在经 ...
- java 中的单元测试_浅谈Java 中的单元测试
单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...
最新文章
- 运维开发笔记整理-前后端分离
- boost::function用法的测试程序
- WebSocket webshop后台服务器的一些全局数据结构
- jpannel设置位置xy_实用的摄影技巧!10种常见摄影场景的单反相机设置技巧!
- Android 底部上拉抽屉view
- java 正则匹配_正则表达式真的很强大,可惜你不会写
- 什么样的项目是成功的?
- Redis持久化配置
- django2.x/3.x 前端页面在debug模式中找不到动态文件static
- 人脸识别的三个评测标准
- 浙大PAT甲级1027. Colors in Mars (20)
- jquery select
- Reversing.Kr replace题解
- 前端工程化和Reactjs的模式
- caffe 实践程序3——caffe提取特征以及由模型test数据
- ajaxfileupload -- 一款不错的AJAX文件上传插件
- 路由器 接 交换机 接 路由器
- CDN缓存那些事 转载陈小龙哈2016-09-2
- PING用一生诠释了TCP/IP(4)------二三层转发为PING劈荆斩棘
- subplot中的图例