Tag, meine Damen und Herren,
ich mache mir gerade Gedanken über den Nachrichtentausch von Objekten. Nehmen wir mal an es gibt zwei Klassen:
Das Interface ist da, weil die Klasse Zwei nicht immer von demgleichen Objekt instantiert werden soll. Sonst wäre das ganze auch 'trivial' ). Das Gleiche wäre natürlich auch ohne den Konstruktor von Zwei zu machen, hier sei das aber beispielhaft mal so gemacht.
Jetzt meine Frage:
Macht man das so? Oder gäbe für Objekt Zwei auch die Möglichkeit festzustellen, welches Objekt Zwei erzeugt hat? (bzw. welches die Methoden von Zwei angetreten hat?), also ohne dass Eins Zwei die eigene Referenz mittteilt?
-bm
ich mache mir gerade Gedanken über den Nachrichtentausch von Objekten. Nehmen wir mal an es gibt zwei Klassen:
Code:
public interface EinInterface {
public void Antwort ( ... irgendwelche Parameter);
}
class Eins extends EinInterface{
public void EineFunktion() {
// tut irgendwas
Zwei MyZwei = new Zwei(this, ... irgendwelche Parameter);
}
public void Antwort ( ... irgendwelche Parameter) {
// wertet die Antwort aus
}
}
class Zwei {
privat EinInterface Ichwurdegeborenvon;
public void Zwei(EinInterface EI, ... irgendwelche Parameter) {
Ichwurdegeborenvon = EI;
// tut weitere schöne Dinge
}
public void NochEineFunktion() {
// tut wieder Schönes
Ichwurdegeborenvon.Antwort( .... viele schöne Parameter);
}
}
Das Interface ist da, weil die Klasse Zwei nicht immer von demgleichen Objekt instantiert werden soll. Sonst wäre das ganze auch 'trivial' ). Das Gleiche wäre natürlich auch ohne den Konstruktor von Zwei zu machen, hier sei das aber beispielhaft mal so gemacht.
Jetzt meine Frage:
Macht man das so? Oder gäbe für Objekt Zwei auch die Möglichkeit festzustellen, welches Objekt Zwei erzeugt hat? (bzw. welches die Methoden von Zwei angetreten hat?), also ohne dass Eins Zwei die eigene Referenz mittteilt?
-bm