关联、聚合(Aggregation)以及组合(Composition)的区别


Posted in 面试题 onFebruary 29, 2012
涉及到UML中的一些概念:关联是表示两个类的一般性联系,比如“学生”和“老师”就是一种关联关系;聚合表示has-a的关系,是一种相对松散的关系,聚合类不需要对被聚合类负责,用空的菱形表示聚合关系

从实现的角度讲,聚合可以表示为:
class A {…} class B { A* a; …..}
而组合表示contains-a的关系,关联性强于聚合:组合类与被组合类有相同的生命周期,组合类要对被组合类负责,采用实心的菱形表示组合关系

实现的形式是:
class A{…} class B{ A a; …}

Tags in this post...

面试题 相关文章推荐
解释一下ArrayList Vector和LinkedList的实现和区别
Apr 26 面试题
HashMap和Hashtable的区别
May 18 面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 面试题
某个公司的Java笔面试题
Mar 11 面试题
寻找迷宫的一条出路,o通路;X:障碍
Jul 10 面试题
SQL SERVER面试资料
Mar 30 面试题
什么情况下你必须要把一个类定义为abstract的
Jan 06 面试题
nohup的用法
Nov 26 面试题
软件测试工程师面试问题精选
Oct 28 面试题
介绍一下EJB的体系结构
Aug 01 面试题
Python是如何进行类型转换的
Jun 09 面试题
介绍一下Ruby的特点
Jan 20 面试题
链表面试题-一个链表的结点结构
May 04 #面试题
计算 s=(x*y)1/2,用两个宏定义来实现
Aug 11 #面试题
计算s=f(f(-1.4))的值
May 06 #面试题
求两个数的乘积和商数,该作用由宏定义来实现
Mar 13 #面试题
请写出 float x 与"零值"比较的 if 语句
Jan 04 #面试题
求∏的近似值,直到最后一项的绝对值小于指定的数
Feb 12 #面试题
请写出 BOOL flag 与"零值"比较的 if 语句
Feb 29 #面试题
You might like
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
DOM相关内容速查手册
2007/02/07 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
Javascript事件实例详解
2013/11/06 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
python实现的系统实用log类实例
2015/06/30 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
学校安全检查制度
2014/01/27 职场文书
社区娱乐活动方案
2014/08/21 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
2014年加油站工作总结
2014/12/04 职场文书
离婚答辩状范文
2015/05/22 职场文书
小学校长开学致辞
2015/07/29 职场文书