Am Wed den 09 Jul 2003 um 09:34:48AM +0200 schrieb Torsten Werner:
Hallo Stefan,
Am 09. Juli 2003 schrieb Stefan Lagotzki:
Was spricht denn gegen Math.abs() oder Math.exp() ? Die Klasse Math kann doch alle diese einfachen Methoden enthalten. Der Name ist jetzt frei aus der Luft gegriffen...
Welche Daten kapselt die Klasse Math? Keine. Nutzt Math Vererbung und Polymorphismus? Nein. Es ist nicht objektorientiert und sollte dann auch
Soweit hast du ja Recht.
nicht so aussehen. Allein der Vorschlag abs und exp in dieselbe Klasse zu packen, widerspricht doch gerade der objektorientierten Logik.
Ich bin gegen objektorientierten Fundamentalismus! ;-)
Anderenseits wird die Sprache etwas kompakter, wenn man auf das Konstrukt von Funktionen verzichtet. Es ist schon opportun, abs usw. als statische Funktionen einer Klasse zu definieren, die letztlich nur als Träger für diese Funktionalität dient. Welche Vorteile bringen denn Funktionen, die nicht zu Klassen gehören, mal vom besseren "Aussehen" abgesehen? In C++ macht das Sinn, da die Sprache prozedurale Wurzeln hat, bei Java sehe ich dagegen keinen Grund.
Tschau,
andre