【问题标题】:what if a child class got deleted in composition and aggregation?如果子类在组合和聚合中被删除怎么办?
【发布时间】:2021-12-09 22:03:16
【问题描述】:

我已经用谷歌搜索了 Java 中的组合和聚合之间的区别。 我知道如果父类被删除,子类不能在没有父类的情况下生存。但是,我找不到任何关于如果在组合和聚合中删除子类会发生什么,父类还会存在吗?由于子类是构成父类的重要组成部分,我是否应该假设如果子类被删除,父类会死?

例如,我们将human 作为父级,将heart 作为子级。如果heart 类被删除,human 应该被删除。因为human不能没有heart

【问题讨论】:

    标签: java associations


    【解决方案1】:

    在组合中,父级独立于子级,而子级依赖于父级。父级可以创建和销毁子级,并且创建的子级不能没有父级而存在。例如,建筑物有公寓,如果建筑物被摧毁,则公寓将不复存在,但如果您摧毁建筑物中的公寓,则建筑物将保留。即使你摧毁了所有的公寓,这座建筑也将是一座没有公寓的建筑。这是一种“拥有”的关系,父母拥有孩子,孩子没有父母就不能存在,但孩子不拥有父母。

    聚合中父子相互独立,互不存在,互为“有”关系。例如房间里有一把椅子,如果你打破椅子,房间仍然存在,如果你把椅子拿出来破坏房间,椅子仍然存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 2020-07-02
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多