我試圖將一個對象的引用從一個對象移動到另一個對象,從而在移動對象時移除該對象的引用,並將引用添加到移動到的對象中。如何將參考從一個對象移動到另一個對象?
我會嘗試設置,盡我所能用幾個假類的情景:青蛙,業主,客戶:d
所以我誰擁有青蛙集合的所有者,這些可以被貸出去給客戶。客戶只能參考一隻青蛙。所以當一隻青蛙借出時,可以在客戶類中創建青蛙的參考,並且可以從青蛙的所有者集合中移除青蛙。
我想知道的是我如何反轉這個動作。當我想要一個客戶給青蛙回來時,我可以爲客戶引用Frog null的實例變量,但是我不確定如何將這個青蛙返回給所有者而不參考它,例如:
public void returnFrog()
{
owner.returnFrog(frog);
frog = null;
}
只要我使實例變量null,已經返回給所有者的引用也將變爲null。
我能想到做到這一點的唯一方法是讓客戶擁有一個青蛙列表,並簡單地從列表中移除一個青蛙。這樣引用永遠不會設置爲null,但有沒有更好的方法來做到這一點?我堅持我不應該使用List,如果我只需要一個值。 :(
或者我無法移動對象,只是跟蹤青蛙是否與客戶相關聯 - 如果是,它不能鏈接到任何其他客戶(這是我的解決方案atm 。)
但願我不是失去了一些東西基本
關於代碼的思考很好。提出問題很好。嘗試的東西也很好 - 你有沒有試過運行這段代碼? –
我認爲這是一個設計錯誤,從所有者的名單中刪除青蛙。所有者仍然擁有青蛙,即使他將青蛙借給客戶。我會在Frog中使用一個字段,該字段在Customer中包含一個引用,如果'null'表示青蛙可以借出。 – Bohemian