Hey Leute!
Ich habe folgenden Fall, den ich gerne in Java darstellen möchte:
Es gibt eine Person, die hat ein Auto. Und ein Auto, das einen Eigentümer hat. Also eine klassische 1:1 Assoziation. Nun die Frage wie ich das implementiere... Ich muss ja beachten, dass ein Auto keinen zwei Personen (= Eigentümer) zugewiesen werden kann, also z.B.:
und umgekehrt: Keiner Person zwei Autos.
Jetzt hab ich mich mal schlau gemacht und habe gelesen, dass man dies über die setter-Methode regulieren muss.
Mein Ansatz:
In der Klasse Person:
und in der Klasse Auto:
So müsste es doch passen, oder??
Danke für Eure Hilfe!
Edit: Das produziert eine Endlosschleife, sehe ich gerade...
Ich habe folgenden Fall, den ich gerne in Java darstellen möchte:
Es gibt eine Person, die hat ein Auto. Und ein Auto, das einen Eigentümer hat. Also eine klassische 1:1 Assoziation. Nun die Frage wie ich das implementiere... Ich muss ja beachten, dass ein Auto keinen zwei Personen (= Eigentümer) zugewiesen werden kann, also z.B.:
Java:
Auto a = new Auto(...);
Person p1 = new Person(...);
Person p2 = new Person(...);
p1.auto = a;
p2. auto = a;
und umgekehrt: Keiner Person zwei Autos.
Jetzt hab ich mich mal schlau gemacht und habe gelesen, dass man dies über die setter-Methode regulieren muss.
Mein Ansatz:
In der Klasse Person:
Java:
public void setAuto(Auto auto) {
this.auto = auto;
auto.setEigentuemer(this);
}
und in der Klasse Auto:
Java:
public void setEigentuemer(Person p) {
this.eigentuemer = p;
p.setAuto(this);
}
So müsste es doch passen, oder??
Danke für Eure Hilfe!
Edit: Das produziert eine Endlosschleife, sehe ich gerade...
Zuletzt bearbeitet: