オブジェクトへの参照をあるオブジェクトから別のオブジェクトに移動しようとしているため、移動時にオブジェクトの参照が削除され、移動先のオブジェクトへの参照が追加されます。
いくつかの偽のクラスを使用して、できる限りシーンを設定しようとします: Frog、Owner、Customer :D
だから私にはカエルのコレクションを持っている所有者がいて、これらは顧客に貸し出すことができます。Customer は 1 つの Frog への参照のみを持つことができます。したがって、Frog が貸し出されると、その Frog への参照が Customer クラスで作成され、Frog は所有者の Frog コレクションから削除されます。
私が知りたいのは、このアクションを元に戻す方法です。Customer に Frog を返してもらいたい場合、Frog を参照する Customer のインスタンス変数を null にすることができますが、この Frog を参照せずに Owner に返す方法がわかりません。次に例を示します。
public void returnFrog()
{
owner.returnFrog(frog);
frog = null;
}
インスタンス変数を null にするとすぐに、所有者に返された参照も null になります。
これを行う唯一の方法は、Customer が 1 つの Frog の List を持ち、単に Frog を List から削除することです。この方法では、参照が null に設定されることはありませんが、これを行うためのより良い方法はありますか? 必要な値が 1 つだけの場合は、List を使用すべきではありません。:(
または、オブジェクトを移動して、カエルが顧客にリンクされているかどうかを追跡することはできませんでした。そうであれば、他の顧客にリンクすることはできません (これが私のソリューション atm です)。
うまくいけば、私は何か基本的なことを見逃していません。