Thursday, May 10, 2007

Wie man OOP nicht lehren sollte

Einer der wichtigen Regeln zur Vererbung ist, dass eine Klasse b nur von einer Klasse a ableiten sollte, "wenn jedes b auch ein a ist" zum Beispiel jeder "Button" ist ein "Control", aber nicht jedes "Prisma" ist ein "Dreieck":

Hier ist eine alte Klausuraufgabe, die ich (nicht an der Universität) vor langer langer Zeit "lösen" musste (Schon mal ein großes [sic!] an dieser Stelle, Rechtschreibfehler nicht von mir):

Definieren Sie Java-Klasse (Dreieck), die ein gleichwinkeliges Dreieck beschreibt. Hierfür benutzen Sie den geeigneten Datentyp für die Klassenvariable (Seitenlänge). Anschließen schreiben Sie eine Klasse, die ein main()-Methode beinhaltet, um die Flächen und den Umfang von zwei Dreieck-Objekten mit Seitenhängen 40.3 und 30.5 zu erstellen, die Flächen und den Umfang zu berechnen und die Seitenlängen und die berechneten Daten auszugeben.
[...]
Erweitern Sie die Dreieck-Klasse so, daß sie einem Prisma beschreibt, dessen Oberfläche und Volumen später benötigt werden. Achten Sie darauf, daß dem Benutzer der Klasse Prisma die Dareieckfläche verdeckt bleibt.

Ja, da kommen Erinnerungen wieder hoch. ;-)

P.S. Nein, ich gebe nicht die Quelle an. ;-)
Darum geht es in diesem Artikel auch gar nicht.

No comments:

Post a Comment