在删除子对象之前删除父对象时,如何创建错误消息?

| 在试图删除父对象但该对象中仍然有子对象的情况下,我试图创建一条错误消息。 例如,有一个包含多个客户对象的项目对象。如果项目对象被删除,但项目仍具有附加的客户,则我希望出现错误消息,然后出现错误消息。 是否有某些注释可以检查是否有客户在场?     
已邀请:
父母必须照顾它的孩子。如果父级仍然有子级并且无法删除,则父级必须引发错误(引发异常,返回错误代码等)。 像这样:
public boolean dispose() {
  if (hasChildren())
     return false;      // not disposed/deleted

  // do disposing stuff
  isDisposed = true;    // flag the disposed state
  return true;          // disposed / deleted
}
    
通常,如果一个对象对另一个对象有既得利益,则可以使用类似Observer模式的对象。在这种情况下,创建孩子时,父母可以观察它。 在您的情况下,当销毁父级时(例如,在其finalize()方法中),它可以查看是否还有任何子级,如果存在则抛出错误。 如果父级维护一个子级列表,则如果该列表不为空,则可能会在父级的finalize()方法中引发错误。 编辑:您可能必须等待垃圾收集发生,才能调用finalize()。请参阅是否有Java的析构函数?完整的故事。     

要回复问题请先登录注册