Martin Jung: Von Elternklasse geerbte Methoden verstecken

Beitrag lesen

Hi Daniel,

Damit sollte man aber sehr vorsichtig sein, speziell dann, wenn die throws-Angabe der Methode in der Elternklasse nicht angibt, dass diese Exception geworfen werden kann....

Yep. Eine solche Lösung ('leere Implementierung' und/oder entsprechende Exception) finde ich aber auch deswegen schon "unglücklich", weil das "Versprechen", das die ererbte API-Spezifikation macht, zwangsläufig "gebrochen" wird. Ob es sich hierbei dann überhaupt noch um polymorphes Verhalten handelt, könnte man sicherlich auch diskutieren.
Dieser Schuss kann ganz schnell in die Hose gehen. Nur mal so vorgestellt: Man hat irgendeine (typisierte) Collection, iteriert über die Member und ruft in Erwartung des in der API spezifizierten Verhaltens irgendeine Methode auf. Ist bestimmt nett, wenn man auf einmal zur Laufzeit eine UnsupportedOperationException "um die Ohren gehauen bekommt".

Viele Grüße,
Martin