Hallo woodfighter,
die Methode "MyGateway getGateway( MyResult result )" kann ja gar nicht alles, was die Methode "IGateway getGateway( IResult result )" verspricht.
Doch, sie kann minimum das, was letztere verspricht. Wohlmoeglich kann sie noch viel mehr.
Letztere kann alle Objekte die IResult implementieren als Parameter verarbeiten, erstere nur spezielle,
Ach so, aus dem Blickwinkel betrachtet stimmt deine erste Aussage natuerlich. Und ich glaube genau hier war bei mir der Haken.
abstract class AbsProvider<T extends IResult> {
public abstract IGateway getGateway( T result );
}
}class MyProvider extends AbsProvider<MyResult> {
@Override
public MyGateway getGateway( MyResult result ) {
return null;
}
}
Hm, das ist in meinem Fall/aus meiner Sicht irgendwie eine unschoene Variante. Denn - da es sich um einen Provider handelt - wird das nicht die einzige generische Methode bleiben, sprich IResult wird nicht der einzige dynamische Methodenparameter sein, sondern es werden noch welche hinzukommen.
Vielen Dank
Dirk