关联、组合、聚合、依赖关系比较
发布时间:2020-12-14 05:32:10 所属栏目:百科 来源:网络整理
导读:关联、组合、聚合、依赖关系比较? http://www.blogjava.net/tinysun/archive/2009/02/21/255957.html ? 范化、依赖、关联、聚合关系的一些理解? http://www.cnblogs.com/riordan/archive/2007/06/09/777813.html 区分java中的依赖、关联、聚集关系? http://k
关联、组合、聚合、依赖关系比较?
http://www.blogjava.net/tinysun/archive/2009/02/21/255957.html ? 范化、依赖、关联、聚合关系的一些理解? http://www.cnblogs.com/riordan/archive/2007/06/09/777813.html 区分java中的依赖、关联、聚集关系? http://kisssk.iteye.com/blog/467198 聚集? http://baike.baidu.com/view/351119.htm -----------------------------------------------------? 总结:? 1.依赖(use a)? A类中使用B类去完成相关任务,A类中无有B类这属性,可能是在方法中用到B类.? 2.关联(has a)? 关联分双向关联和单向关联,双向关联是A,B类分别持有对方的引用(有是对方的属性).? 单向关联是一方持另一方的引用.? 3.聚合[聚集]? 聚合是更强一点的关联,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分.? 例如,汽车是由轮子聚合而成,汽车报废时,轮子可以单独存在.聚合与组合的不同在于被拥有者的生命周期.? 4.组合[合成]? 是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。? 5.泛化(is a)? 构造的详细顺序如下:? 类构造 (只做一次的,不论你new了多少个对象)? 1.父类的static 属性(field)? 2.父类的static块(block)? 3.子类的static field? 4.子类的static block? 实例构造 (new一次做一次)? 1.实例父类的field (非static)? 2.实例父类的初始化block (非static,是用{}括起来的那些)? 3.实例父类的默认构造器 (默认构造器是类名()这个)? 4.实例子类(这个类)的field? 5.实例子类(这个类)的初始化block? 6.实例子类(这个类)的默认构造器 /no 应该是new的那一个构造器,见Parent e = new Parent(10,12);? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |