依赖、关联、聚合、合成、泛化、实现依赖、关联、实现,见名知意;其他的呢,尤其是聚合于合成的区别,应该如何理解呢?多谢指教!!!
解决方案 »
- Connection接口的若干疑问
- 求教:类集、集合类以及容器的区别是什么?
- 2012年6月编程语言排行榜,Java持续下挫
- IBM中国研究院面试题
- 一个关于java.lang.ClassCastException: java.lang.Class的问题
- 尝试用HttpClient登陆淘宝的问题,求助各位大虾
- Color.RED 和Color.red究竟有什么区别?
- JAVA中不能创建抽象类的对象 ? 我觉得可以!
- scrollPane 向下滚动?
- 新人求教java窗体,有些问题不是很懂~!
- 如何在打开一个窗口后,其他的窗口都不能进行操作,除非关闭打开的窗口?
- 求个 Robocode 的安装和玩法。
合成(Composition)关系是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,合成关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生合成关系,由后者排他地负责生命周期。
比如Set
Set<String> set = new HashSet()<String>;
set.add("abc");//正确
set.add(123);//错误
因为你已经指定对象的类型为String
希望对你有用
聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期, 部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来 区分;合成
合成也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此 时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区 分;
1.泛化就是我们最常用的继承关系啦.这个不用多说了.
2.依赖关系是指一个类A对别一个类B的依赖,如果类B去掉的话,会对类A造成影响的.
3.关联关系有点边界模糊和依赖有点像,但又完全不像。关联是指一个类用到了另外的一个类,但不依赖。
4.聚合是一种单向关系,聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别的,一般来说聚合中的类关系总是一个类比别一个类要高级一些,而关联基本上是平级的
public class Car
{
public Engine engine;
public Wheel wheel;
}public class Engine
{
}public class Wheel
{
}5.合成是一种特殊的聚合形式,它是提类与类之间的联系是非常密切的,少了那一个也不行。打个比方,人的脑袋,四肢,躯干.这是一种聚合关系.少了哪个都不行.
6.简单的说就是接口,这个没必要说了.相信一说接口都清楚.