Index

5. Problemlösetechniken

Objektorientierte Programmierung (7)


Projekt: Tauglichkeitstester

5. Aggregation - Die Klasse Ampel

Ampel Ampel Die Ampel stellen wir als schwarzes Rechteck, bestehend aus zwei Quadraten, für das Gehäuse und aus zwei Kreisen für die Lichter dar. Je nach Anzeige der Ampel ist einer der Kreise rot bzw. grün, der andere grau.

Zwischen den Klassen Kreis bzw. Quadrat und der Klasse Ampel besteht eine besondere Assoziation, eine Teile-Ganzes-Beziehung.
Man sagt: Die Ampel aggregiert zwei Kreise und zwei Quadrate. Die Teilobjekte nehmen dabei Aufgaben des Aggregates, des Ganzen, wahr.

Diagramm. Aggregat Ampel

Die Raute als Kennzeichen einer Aggregation wird an das Aggregat gezeichnet.

Die Teilobjekte treten im Aggregat als Attribute in Erscheinung. Attribute können demnach also auch selbst wieder Objekte sein.

Von unserer Ampel erwarten wir auch einige Fähigkeiten:
Sie muss auf Rot bzw. Grün geschaltet werden können. Hierzu verwenden wir die Methoden schalteRot und schalteGruen. Weiterhin möchten wir die aktuelle Anzeige der Ampel ermitteln können. Dies muss also in einem Attribut Farbe festgehalten werden. Mit der Methode getFarbe können wir dann den momentanen Zustand der Ampel erkennen. Damit liegt die Klassendefinition im Wesentlichen fest.

Ampel
#Farbe
#LichtOben
#LichtUnten
#RahmenOben
#RahmenUnten
+schalteGruen()
+schalteRot()
+getFarbe()

Übung

Zeichnen Sie das Zustandsdiagramm zu einem Objekt der Klasse Ampel. Dabei gibt es die Zustände Ampel grün, Ampel rot.

Programmieren Sie in einer Unit uAmpel die Klasse Ampel und schreiben Sie ein Programm zur Steuerung der Ampel. Mit Hilfe zweier Schaltflächen auf dem Formular AmpelGUI soll die Ampel auf rot bzw. grün geschaltet werden.

AmpelGUI

[Index] [Zurück/TT 4] [Fortsetzung/TT 6]


Autor: Jürgen Dehmer, A. Sessler, G. Liebrich
Letzte Änderung: