27.4 Erste Versionen der Fachklassen Kreis und Quadrat
 
Eigenschaften und Operationen des Quadrats Wir legen die Eigenschaften des Quadrates fest. Es hat einen Mittelpunkt (x und y-Werte des Schnittpunkts seiner Diagonalen), eine Seitenlänge und Farbe. Beim Erzeugen einer Instanz von Quadrat soll es bereits einen definierten Mittelpunkt, eine festgelegte Seitenlänge und eine bestimmte Farbe haben. Methoden sollen zur Verfügung stehen, den Mittelpunkt, die Seitenlänge, und die Farbe neu zu setzen. Seine Farbe und seine Seite sollen zusätzlich abfragbar sein. Und schließlich soll das Quadrat selbst wissen, wie es zu zeichnen ist. Mit diesen Vorgaben ist sehr schnell die Klasse in UML festgelegt.
 
UML-Quadrat

Eigenschaften und Operationen des Kreises Die Eigenschaften, also ihre Attribute und ihre Operationen, also ihre Methoden sind denen des Quadrates sehr ähnlich.
 

Wir markieren die Attribute und Methoden, die beide gemeinsam haben

Faktorisieren Die gemeinsamen Attribute und Methoden sind farblich markiert.

Angenommen, wir wollten etwas in unserer Klasse Quadrat ändern, z.B. dass wir für die Koordinaten xMitte und yMitte statt des Typs int den Typ double verwenden wollen, dann müssen wir nämlich garantieren, dass in der Klasse Kreis die gleichen Veränderungen vorgenommen werden, will man die gemeinsame Struktur von Kreis und Quadrat nicht aufgeben. Man sieht leicht ein, dass hier sich eine Quelle für Inkonsistenzen auftut, was tunlichst zu vermeiden ist. Es bietet sich an, die gemeinsamen Attribute und Methoden zu faktorisieren, d.h. in eine gemeinsame Oberklasse von Kreis und Quadrat zu verlegen. Etwas vorsichtig müssen wir dabei mit den Methoden zeichne(Graphics g) in Kreis und Quadrat sein. Zwar stimmen sie in Name und Signatur überein, aber ihre Funktionalitäten sind sicherlich verschieden. Einen Kreis zeichnen ist etwas anderes als ein Quadrat zeichnen.
 

zu 27.5 Kreis und Quadrat erben von der abstrakten Klasse Figur
zur Startseite www.pohlig.de  (C) MPohlig 2004