Hi!
Am 2003-07-09 9:34 +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 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! ;-)
Full ack. Math.XXX() erinnert dann eher an einen Namespace als an eine Klasse. Mathematische Abbildungen lassen sich nun mal nicht in das Konzept einer Klasse quetschen, weil eine Abbildung kein "Objekt" im philosophischen Sinne, sondern eine Vorschrift ist. Wenn man es versucht, wo soll das dann aufhören? Darf ich dann nicht mehr 3 + 4 schreiben, sondern muss 3.add( 4 ) aufrufen? Wenn das zur reinen Lehre der OOP gehört, dann bleib ich doch lieber bei Perl, C++ und Prolog. ;-)
Just my $0.02,
Pitti