对象之间的关系
来源:互联网 发布:java虚拟主机 编辑:程序博客网 时间:2024/04/26 23:21
(一)对象之间的关系:
1.依赖:
依赖对象通过调用被依赖对象的方法来获得服务。一种比较松散的关系,并且是短期的。我们的过程与对象往往依赖于我们的实体域对象。如在struts 的 action中调用模型层的方法。
2.关联
它使一个类指到另一个类的属性。长期的
3.聚合
聚合关系是关联关系的一种,是强的关联关系。聚合是整体和部分之间的关系。
4.组合
也叫合成关系,组成关系是关联关系的一种,是比聚合关系强的关系。对象负责代表部分的对象的生命周期。
注:既然聚合,组合关系属于关联关系,那么如何区分一般关联关系,聚合关系和组合关系呢?
一般关联:只要一个对象联系到另外一个对象就形成了关联关系。如:人和他的猫,黑豹乐队和窦魏,pc机和显示器。
聚合关系:一种强关联关系,它要求有部分和整体的关系,并且没有了整体部分也可以独立存在。在上面三个例子中人和它的猫显然没有部分和整体的关系,所以只能是一般的关联关系。而黑豹乐队和窦魏,窦魏等人组成了黑豹乐队即:窦魏和黑豹是整体和部分的关系。而窦魏脱离了黑豹(早就离开了)更或者黑豹不存在了那么窦魏仍然可以以音乐人的身份存在(即对象仍然可以独立存在)所以它属于聚合关系。组成关系是可以共享的。(窦魏也可以加入其他乐队)。
组合关系:一种更强的整体和部分的关系。它并且要求代表整体的对象负责代表部分的对象的生命周期,组成关系是不能共享的。如:pc机和显示器的关系。
我觉得:如果两个实体是整体和部分的关系,那么它们到底是聚合还是组合,这取决于你的需求。比如说:pc机和显示器的关系,如果你的系统中,显示器脱离了pc机就不存在意义了,也可以说:所有显示器的访问都是通过pc机进行的,那么你可以把关系设定为组合(如你在为一个只买品牌机的代理商作系统你可能是可以这么作的)。如果你的显示器脱离的pc机仍然可以独立存在,也就是说在系统中可以直接访问显示器对象,那么你可以将关系设为聚合(如你在为一个买散件的代理商作系统你可能是可以这么作的)
5.继承
这个我不想多讲了,用过面向对象的语言都应该知道。
- 对象之间的关系
- 对象之间的关系
- 对象之间的关系
- 对象之间的关系
- 域对象之间的关系
- java对象之间的关系
- java--------【对象之间的关系】
- 面向对象对象之间的关系
- 对象与对象之间的关系
- 对象-关系数据库之间的映射
- 对象-关系数据库之间的映射
- 类和对象之间的关系
- jQuery对象之间的继承关系
- 003:对象、类、类之间的关系
- DisplayObject显示对象之间的关系
- 类、对象,以及它们之间的关系
- Hibernate映射对象之间的多种关系
- Hibernate对象之间的三种关系
- 『C/C++』C++ 中operator用法:隐式类型转换
- Wince学习
- VisualAssistXv10安装(三)
- 知道年月日就可以计算那一天是星期几(What day is today?)
- U盘安装ubuntu
- 对象之间的关系
- ORALC 抛出ORA-12154的错误
- C++指针
- 编程语录(转自http://www.aqee.net/)
- 修改LoaderMax加载图片的demo
- 第十七周项目2-2-去除字符串中的空格(指针做形参)
- 在Ubuntu系统安装jdk1.7步骤
- Boost库实现线程池实例
- 面向对象里面使用use-a, has-a, is-a和实现关系支持优秀的设计