hjtracy1 2010-10-09 02:16
浏览 423
已采纳

小汽车和小汽车的轮子 发动机 车门等是合成关系还是聚合关系

[img]http://dl.iteye.com/upload/attachment/327488/db80fa9b-6d1a-38bb-8cd8-d02945e77bfd.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/327486/d00af250-2045-34a9-b7f9-b3632bfa06e5.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/327484/0c0eb900-6d58-394c-829c-f720e9c2112b.jpg[/img]
小弟大四即将毕业 最近读《java与模式》和《编程思想第四版》的时候发现一个奇怪的问题
《java与模式》里明确指出汽车和轮子等是聚合关系 还特别强调了合成是更加强烈的聚合关系 转到《编程思想第四版》一瞧
发现汽车和轮子变成了合成关系 这到底是怎么回事啊?到底这种关系是属于哪种关系?

  • 写回答

3条回答 默认 最新

  • iteye_16421 2010-10-09 17:32
    关注

    我上面的说明可能也不很准确,其实 :

    聚合:用来表示“拥有”关系或者整体和部分的关系。

    合成:用来表示一种强得多的“拥有”关系。在一个合成里,部分和整体的生命周期是一样的。一个合成的新对象完全拥有对其组成部分的支配权,包括它们的创建和泯灭等。

    还是我说的,聚合和合成要根据具体的应用场合来说的,也就是我们通常所说的业务逻辑才能确定他们是聚合关系还是合成关系,

    合成关系的部分和整体的生命周期是一样的,聚合则不是,这要看你编程时是怎么实现的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?