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

面试题 相关文章推荐
Java中实现多态的机制是什么?
Dec 07 面试题
Java中compareTo和compare的区别
Apr 12 面试题
Java方面的关于数组和继承的笔面试题
Sep 18 面试题
internal修饰符起什么作用
Dec 16 面试题
Linux如何压缩可执行文件
Oct 21 面试题
什么是makefile? 如何编写makefile?
Jan 02 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Feb 20 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
Jun 08 面试题
Java程序开发中如何应用线程
Mar 03 面试题
几个判断型的面试题
Jul 03 面试题
Java文件和目录(IO)操作
Aug 26 面试题
JAVA软件工程师测试题
Jul 25 面试题
链表面试题-一个链表的结点结构
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和javascript之间变量的传递实现代码
2012/12/19 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
python sort、sorted高级排序技巧
2014/11/21 Python
python分析网页上所有超链接的方法
2015/05/08 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python常用排序算法的实现代码
2019/11/08 Python
Python super()方法原理详解
2020/03/31 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
小学生成长感言
2014/01/30 职场文书
合同协议书格式
2014/04/18 职场文书
努力学习演讲稿
2014/05/10 职场文书
学校师德承诺书
2014/05/23 职场文书
golang中的空接口使用详解
2021/03/30 Python
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers