Eigentlich wollte ich meinen obligatorischen Java-Rant ja auf den ersten Beitrag beschränken, weil es nicht viel zum Thema beiträgt, aber auf Aufforderung muss man ja quasi schon weiter machen...
Mich würde auch noch interessieren, wo das Problem liegt?
Darin, dass das Beispiel im wahrsten Sinne Äpfel mit Birnen vergleicht...
- was, wie wir alle hoffentlich wissen, semantisch
nicht sinnvoll ist
- weil beide nichts miteinander zu tun haben,
- es garantiert nicht beabsichtigt ist
- und sich derjenige, dem der für einen popeligen Vergleich zwingend nötige dynamische Typecast um die Ohren fliegt (...so viel zum Thema Typensicherheit), sich dann stundenlang mit Bad Cast-Exceptions herumärgern darf, bevorzugt bei dreistelliger Calling Stack-Tiefe in der inzwischen glücklicherweise obsoleten Swing-Bibliothek.
Es ist nunmal schwachsinnig, eine Methode, die sich nicht verallgemeinern lässt, per Vererbung von ganz oben nach ganz unten quer durch die
gesamte Klassenhierarchie eines Programms durchzureichen. Und genau sowas meine ich mit dogmatischem Hereinwürgen von OOP-Konzepten in wirklich alles und jeden.
Von den wundertollen Wrapper-Klassen für Basistypen will ich mal gar nicht anfangen...
Wenn ich eine Klasse aus der Taufe heben muß, nur um die Ausgabe "Hallo Welt!" zu bewerkstelligen, ist was faul im Staate Dänemark.
...wobei man ja nicht vergessen darf, dass in dem Fall die Klasse nicht einmal instantiiert wird, sondern lediglich eine statische Methode aufgerufen wird. Aber Hauptsache, man hat eine Klasse!