现在的位置: 首页 > 综合 > 正文

类的关联、组合、聚合关系

2013年02月28日 ⁄ 综合 ⁄ 共 322字 ⁄ 字号 评论关闭

关联:类的实例持有着对其他对象的引用,没有整体与部分的意义。

组合:整体与部分的关系,且类的实例与其内部的对象在生命期上保持一致,同时创建和销毁。另外,组合不允许有组合回路,否则编译不报错,但是运行时将会出现StackOverflowException 的异常导致程序终止。

聚合:整体与部分的关系,且类的实例与其内部的对象不具有生命期的一致性,只是对另一个对象的引用,并不拥有其生命周期的管理权,但是含有整体与部分的意义。另外,聚合允许有组合回路,其内部对象只是以引用的形式存在,不具备对其生命周期的管理,这也是聚合与组合之间的最大区别。

另外,如果A B C三个类都是可序列化的,那么其内部的对象关系应该为引用,即聚合关系,是可以存在循环回路的情况的。

抱歉!评论已关闭.