ich die folgende Hierarchie in Java haben:Aufschalten Methode in geerbten Schnittstelle mit dem Subtyp mit Generika
interface ObserverA {}
interface A {
void method1();
addObserver(Observer o);
}
Und ich will es so erweitern:
interface ObserverB extends ObserverA{}
interface B extends A {
void method2();
addObserver(ObserverB o);
}
so dass die addObserver()
Methode von B
würde die gleiche Methode in A
überschreiben. Da es nicht funktioniert, Implementierungen von B
müssten beide Versionen von addObserver()
implementieren, ich möchte nur eine haben.
Kann dies in einer klugen Weise geschehen, die nicht A
wie parametrieren mit sich bringt:
interface A<O extends Observer> {
addObserver(O o);
}
hackish Lösungen sind herzlich willkommen!
Generischer Typ ist immer ein besserer Weg für solche Dinge, wo Sie nicht wissen, der Typ – Biswajit