2011-04-15 89 views
1

我想創建一個錯誤消息的情況下,父對象已被調用刪除,但該對象內仍有子對象。 例如,有一個包含多個客戶對象的項目對象。如果項目對象被刪除,但是項目仍然附帶一個客戶,然後顯示錯誤消息,我想要顯示一條錯誤消息。如何在刪除子對象之前刪除父對象時創建錯誤消息?

是否有某種註釋可以檢查是否有客戶在場?

+0

沒有更多的上下文,你的問題是非常沒有意義的。 Hou甚至沒有說過是否涉及數據庫。 – 2011-04-15 17:39:29

+0

我同意。需要更多的上下文。 – 2011-04-15 17:44:52

回答

2

父母必須照顧它的兒童必須提高錯誤(拋出異常,返回錯誤代碼等),如果它仍然有子項,並且不能被刪除。

類似的東西:


public boolean dispose() { 
    if (hasChildren()) 
    return false;  // not disposed/deleted 

    // do disposing stuff 
    isDisposed = true; // flag the disposed state 
    return true;   // disposed/deleted 
} 
-1

在一般情況下,如果一個對象在另一個對象的既得利益,你可以使用類似的Observer pattern。在這種情況下,當孩子被創建時,父母可以觀察它。

在你的情況下,當父對象被銷燬時(比如在它的finalize()方法中),它可以查看是否有子對象存在並拋出錯誤。

如果父節點維護一個子節點列表,那麼如果列表不是空的,你可能會在父節點的finalize()方法中拋出一個錯誤。

編輯:您可能不得不等待垃圾收集發生finalize()被調用。全文請看Is there a destructor for Java?