Die Objektkarte
- Kopf:
a1: Ampel— Objektname, Doppelpunkt, Klasse; der Kopf wird unterstrichen. - Inhalt:jedes Attribut mit seinem aktuellen Wert:
schaltungen = 12. - Zeichenketten:in Anführungszeichen:
farbe = "rot". - Keine Methoden:die sind für alle Objekte gleich und stehen nur in der Klassenkarte.
- Momentaufnahme:eine Objektkarte zeigt den Zustand zu einem Zeitpunkt.
- farbe = "rot"
- schaltungen = 12
- farbe = "rotgelb"
- schaltungen = 13
Dasselbe Objekt zu zwei Zeitpunkten.
Objektkarte: Der Kopf objektname: Klasse wird unterstrichen; darunter steht jedes Attribut mit seinem aktuellen Wert, Zeichenketten in Anführungszeichen.
Keine Methoden: Sie sind für alle Objekte gleich und stehen nur in der Klassenkarte.
Momentaufnahme: Die Karte zeigt den Zustand zu einem Zeitpunkt.
Zustände verfolgen
- Konstruktor:erzeugt ein neues Objekt — im Diagramm erscheint eine neue Karte.
- Auftrag:ändert Attributwerte genau des Objekts, bei dem er aufgerufen wird.
- Anfrage:liest nur — alle Karten bleiben unverändert.
- Objektdiagramm:alle Objektkarten zu einem Zeitpunkt nebeneinander.
Stelle das Startguthaben von k1 ein und starte das Programm mit ▶ — oder gehe mit „Schritt“ Zeile für Zeile vor. Beobachte, welche Objektkarte sich bei welchem Aufruf ändert. Regel der Bank: abheben klappt nur, wenn genug Geld da ist.
- - inhaber: Zeichenkette
- - stand: Ganzzahl
- c Konto(inhaber: Zeichenkette, start: Ganzzahl)
- + einzahlen(betrag: Ganzzahl)
- + abheben(betrag: Ganzzahl)
- + getStand(): Ganzzahl
Halte fest: Jeder Konstruktoraufruf erzeugt eine neue Karte. Ein Auftrag ändert nur die Karte des Objekts, bei dem er aufgerufen wird — eine Anfrage wie getStand() ändert gar nichts.
Objektkarte: Kopf objektname: Klasse unterstrichen, darunter jedes Attribut mit seinem aktuellen Wert — keine Methoden.
Konstruktor: erzeugt ein neues Objekt, im Diagramm erscheint eine neue Karte.
Auftrag: ändert die Attributwerte genau des Objekts, bei dem er aufgerufen wird.
Anfrage: liest nur, alle Karten bleiben unverändert.
Objektdiagramm: alle Objektkarten zu einem Zeitpunkt nebeneinander.
Allgemeine Hinweise
Methoden bleiben draußen
Auf eine Objektkarte gehören nur Attribute mit Werten. Methoden wie einzahlen() stehen allein in der Klassenkarte.
Kopf unterstreichen
Ohne Doppelpunkt und Unterstreichung sieht der Kopf aus wie eine Klassenkarte. Genau daran unterscheidet man beide.
Zustandstabelle anlegen
Bei langen Aufrufketten nach jeder Zeile die Werte in eine Tabelle schreiben — so verrutscht nichts.
