Verwendung einer Klasse
Ampel-Klasse als Baustein
Wir werden uns hier mit folgender Frage beschäftigen: Welche Information benötigt man über eine Klasse, um sie als Baustein zur Erzeugung und Aktivierung von Software-Objekten benutzen zu können?
Wir betrachten hierzu wiederum die Simulation realer Ampeln.

Gegeben ist eine Datei ampel.py, in der sich eine Implementierung einer Klasse Ampel
befindet.
Aufgabe 1
(a) Ein Nutzer der Klasse Ampel
hat das folgende Simulationsprogramm geschrieben:
Was muss der Nutzer alles über die Klasse Ampel
wissen, um ein solches Testprogramm schreiben zu können?
(b) Der Entwickler der Klasse Ampel
veröffentlicht das folgende Klassendiagramm:

Welche Informationen über die Klasse Ampel
findet man hier? Welche zur Nutzung der Klasse benötigten Informationen sind hier nicht dokumentiert.
(c) Der Entwickler der Klasse Ampel
legt eine Schnittstellenbeschreibung zur Klasse vor.
Welche Informationen kann ein Nutzer hieraus entnehmen? Muss ein Nutzer auch die Details der Implementierung kennen, um die Klasse nutzen zu können?
Schnittstellen
In einem komplexen System ist eine Schnittstelle die Verbindungsstelle zwischen zwei (oder mehr) Bestandteilen des Systems. Beispielsweise stellen die Sinnesorgane und Hände des Menschen eine Schnittstelle zwischen dem Gehirn und der Außenwelt dar; über die Schnittstelle erhält das Gehirn Informationen der Außenwelt, mit den Händen beeinflusst der Mensch die Außenwelt.
Ähnlich bezeichnet man Buchse-Stecker-Paare (z.B. ein USB-Kabel und der zugehörige USB-Anschluss) als Schnittstelle – hier werden zwei technische Systeme verbunden.
Aufgabe 2
(a) Erkläre, dass die in Aufgabe 1 genannte Schnittstellenbeschreibung der Klasse Ampel
eine ähnliche Funktion erfüllt wie die soeben genannten Schnittstellen.
(b) Welche Bestandteile einer Klasse sind für eine Schnittstellenbeschreibung der Klasse nötig?
(c) Fülle die unterste Box des Wissensspeichers aus.
Was ist ein Wissensspeicher?
Im Wissensspeicher soll übersichtlich und prägnant das neu Gelernte dokumentiert werden. Die vorgegebene Struktur auf dem Wissensspeicher soll sicherstellen, dass alles Wichtige festgehalten wird; so werden z.B. nicht nur Definitionen, sondern in der Regel auch Beispiele, Vernetzungen oder Konventionen gefordert. Der Wissensspeicher kann verwendet werden, um ein im Unterricht erstelltes Tafelbild einfacher ins Heft zu übertragen. Es ist mit ihm aber auch möglich, die Sicherung stärker schüler:innen-orientiert zu gestalten: Je nach Unterrichtsgestaltung können die Schüler:innen nach einer Erarbeitung und Besprechung den gesamten Wissensspeicher selbst ausfüllen (im Unterricht, ggf. auch in der Hausaufgabe) oder hierfür zusätzlich das Online-Schulbuch zu Hilfe nehmen.
<dateiname>Modularisierung_mit_Objektorientierung.pdf</dateiname>