Normal
Typischer Fehler bei dieser Problemstellung. Dein Problem ist, das beide Klassen dafür verantwortlich sind, sich inder jeweils anderen korrekt einzutragen. Getreu dem Motte "Zwei Köche verderben den Brei."Lösung: Nur eine Instanz macht die Änderungen, und zwar auf beiden Objekten. Ich würde dir folgende Schritte empfehlen:1.) Für House und Owner jeweils eine protected-Methode, die das jeweilige Attribut nur setzt (ein ganz einfacher setter, könntest du bspw. [c]Owner.setHouseInternal(House h)[/c] nennen).2.) Eine dritte Klasse, die die referentielle Integrität sicherstellt. Mit etwa einer Methode [c]set(House h, Owner o)[/c]3.) Die normalen setter ([c]House.setOwner(Owner o)[/c] und [c]Owner.setHouse(House h)[/c]) rufen die in Schritt 2 erstellte Methode auf.
Typischer Fehler bei dieser Problemstellung. Dein Problem ist, das beide Klassen dafür verantwortlich sind, sich inder jeweils anderen korrekt einzutragen. Getreu dem Motte "Zwei Köche verderben den Brei."
Lösung: Nur eine Instanz macht die Änderungen, und zwar auf beiden Objekten. Ich würde dir folgende Schritte empfehlen:
1.) Für House und Owner jeweils eine protected-Methode, die das jeweilige Attribut nur setzt (ein ganz einfacher setter, könntest du bspw. [c]Owner.setHouseInternal(House h)[/c] nennen).
2.) Eine dritte Klasse, die die referentielle Integrität sicherstellt. Mit etwa einer Methode [c]set(House h, Owner o)[/c]
3.) Die normalen setter ([c]House.setOwner(Owner o)[/c] und [c]Owner.setHouse(House h)[/c]) rufen die in Schritt 2 erstellte Methode auf.