如何解决在删除子对象之前删除父对象时,如何创建错误消息?
| 在试图删除父对象但该对象中仍然有子对象的情况下,我试图创建一条错误消息。 例如,有一个包含多个客户对象的项目对象。如果项目对象被删除,但项目仍具有附加的客户,则我希望出现错误消息,然后出现错误消息。 是否有某些注释可以检查是否有客户在场?解决方法
父母必须照顾它的孩子。如果父级仍然有子级并且无法删除,则父级必须引发错误(引发异常,返回错误代码等)。
像这样:
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的析构函数?完整的故事。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。