关联、聚合(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...

面试题 相关文章推荐
几道PHP面试题
Apr 14 面试题
解释一下ArrayList Vector和LinkedList的实现和区别
Apr 26 面试题
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
error和exception有什么区别
Oct 02 面试题
使用索引有什么好处
Jul 27 面试题
写出SQL四条最基本的数据操作语句(DML)
Dec 12 面试题
用友笔试题目
Oct 25 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
May 23 面试题
酷瑞网络科技面试题
Mar 30 面试题
ShellScript面试题一则-ShellScript编程
Mar 05 面试题
配置管理计划的主要内容有哪些
Jun 20 面试题
介绍一下Ruby的多线程处理
Feb 01 面试题
链表面试题-一个链表的结点结构
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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
JS 显示当前日期与时间的代码
2010/03/24 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
python数据挖掘需要学的内容
2019/06/23 Python
Django中多种重定向方法使用详解
2019/07/17 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
python是怎么被发明的
2020/06/15 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
英国在线定制百叶窗网站:Swift Direct Blinds
2020/02/25 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
批评与自我批评范文
2014/10/15 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL