如果 child class 在组合和聚合中被删除怎么办?

what if a child class got deleted in composition and aggregation?

我在 Java 中搜索了组合和聚合之间的区别。 我知道如果 parent class 被删除, child class 就不能在组合中没有 parent 。但是,我找不到任何关于如果 child class 在组合和聚合中被删除会发生什么, parent class 是否仍然存在?由于child class是组成parent class的重要组成部分,我是否应该假设child parent会死? class 被删除了?

例如,我们得到 human 作为 parent 和 heart 作为 child。如果删除了 heart class,则应删除 human。因为 human 不能没有 heart

在组合中,parent 独立于 child,而 child 依赖于 parent。 parent 可以创建和销毁 children,创建的 child 不能没有 parent。例如,建筑物有公寓,如果建筑物被摧毁,那么公寓将不复存在,但如果你摧毁了建筑物中的公寓,那么建筑物将继续存在。即使你摧毁了所有的公寓,这座建筑也将是一座没有公寓的建筑。这是一种“拥有”关系,parent 拥有 child,没有 parent,child 就无法存在,但 child 不拥有 parent.

在聚合中parent和child是相互独立的,可以相互独立存在,是一种“has-a”的关系。比如一个房间里有一把椅子,你把椅子弄坏了房间还在,把椅子拿出来破坏了房间椅子还在。