Exkurs - Modellierung der Miniwelt
Identifikation der Objekte
Wir gehen von einer Miniwelt aus, die wie in der Abbildung strukturiert ist.
- Objekte der Klasse
Karte
sind für die Verwaltung der Daten einzelner Karteikarten zuständig. - Ein Objekt der Klasse
Kartenstapel
ist für die Verwaltung mehrerer Karteikarten (bzw. Objekte der KlasseKarte
) zuständig. - Ein Objekt der Klasse
Kartenmanager
ist für das Kartenmanagement zuständig, z.B. für das Auswählen einzelner Karten.
Objektorientiertes Datenmodell
Das folgende Objektdiagramm verdeutlicht ein erstes Datenmodell zur Miniwelt.
Objekte der Klasse Karte
benutzen die Attribute stichwort
und erlaeuterung
,
um die Daten einer Karteikarte zu verwalten.
Objekte der Klasse Karte
werden von einem Objekt kartenstapel
erzeugt. Zur Verwaltung dieser Objekte sieht das Objekt kartenstapel
ein geeignetes Listen-Attribut vor.
Ein Objekt kartenmanager
ist für das Kartenmanagement zuständig. Dieses Objekt kennt
das Objekt kartenstapel
und verwaltet den Index der aktuell ausgewählten Karte mit einem
geeigneten Attribut.
Im folgenden Klassendiagramm sind die Attribute und Methoden der benötigten Klassen genauer spezifiziert.
Dokumentation der Klasse Karte
Zuständigkeit: Ein Objekt der Klasse Karte
verwaltet die Daten einer Karteikarte.
Attribut bezeichner
: erfasst den Bezeichner auf der Vorderseite einer Karteikarte (als Zeichnekette)
Attribut erlaeuterung
: erfasst die Erläuterung auf der Rückseite einer Karteikarte (als Zeichnekette)
Konstruktor Karte(bezeichner, erlaeuterung)
: erzeugt ein Karte
-Objekt und
setzt die Attribute auf die entsprechenden übergebenen Parameterwerte
Dokumentation der Klasse Kartenstapel
Zuständigkeit: Ein Objekt der Klasse Kartestapel
erzeugt und verwaltet Objekte der Klasse Karte
.
Attribut karten
: Liste von Referenzen zur Verwaltung von Objekten der Klasse Karte
Konstruktor Kartenstapel()
: erzeugt ein Kartestapel
-Objekt, das einen leeren
Kartenstapel beschreibt
Methode karteHinzufuegen(bezeichner, erlaeuterung)
: Prozedur, die ein neues
Objekt der Klasse Karte
erzeugt und in die Liste karten
(am Ende der Liste) einfügt
Methode karteLoeschen(index)
: Prozedur, die das Element mit dem übergebenen Index aus
der Liste karten
entfernt (sofern der Index im erlaubten Bereich liegt)
Methode getKarte(index)
: Funktion, die das Karte
-Objekt mit dem
übergebenen Index zurückliefert (sofern der Index im erlaubten Bereich liegt)
Dokumentation der Klasse Kartenmanager
Zuständigkeit: Ein Objekt der Klasse Kartenmanager
verwaltet einen Kartestapel sowie den Index der aktuell ausgewählten Karte.
Attribut kartenstapel
: Referenzattribut zur Verwaltung eines Objekts der Klasse Kartestapel
Attribut indexAktuelleKarte
: Zahl, die den Index des Karte
-Objekts in der Liste des
Kartestapel
-Objekts verwaltet; falls noch keine Karte
-Objekte vorliegen, beträgt
der Attributwert -1
Konstruktor Kartenmanager()
: erzeugt ein Kartenmanager
-Objekt
Methode karteHinzufuegen(bezeichner, erlaeuterung)
: Prozedur, die das Kartenstapel
-Objekt
veranlasst, ein neues passendes Karte
-Objekt hinzuzufügen
Methode aktuelleKarteLoeschen()
: Prozedur, die das Kartenstapel
-Objekt veranlasst,
das Element mit dem Index indexAktuelleKarte
zu entfernen
Methode anfangKartenstapel()
: Prozedur, die den Wert des Attributs indexAktuelleKarte
so setzt, dass die erste Karte des verwalteten Kartenstapels ausgewählt ist
Methode endeKartenstapel()
: Prozedur, die den Wert des Attributs indexAktuelleKarte
so setzt, dass die letzte Karte des verwalteten Kartenstapels ausgewählt ist
Methode weiterKartenstapel()
: Prozedur, die den Wert des Attributs indexAktuelleKarte
so setzt, dass die nächste Karte des verwalteten Kartenstapels ausgewählt ist
Methode zurueckKartenstapel()
: Prozedur, die den Wert des Attributs indexAktuelleKarte
so setzt, dass die vorherige Karte des verwalteten Kartenstapels ausgewählt ist
Methode setKartenstapel(kartenstapel)
: Prozedur, die dem Attribut kartenstapel
den übergebenen Parameterwert zuweist
Methode getAktuelleKarte()
: Funktion, die das Karte
-Objekt
zur aktuell gewählten Karte zurückliefert