@@ -92,13 +92,6 @@ sollen implementiert werden:
9292
9393![ UML: Zustandsautomat Spülmaschine] ( doc/images/state_transitions.png )
9494
95- | Zustand | Bedeutung |
96- | ---------| --------------------------------|
97- | Off | Ausgeschaltet |
98- | On | Eingeschaltet |
99- | Washing | Spült |
100- | Paused | Pausiert ( Tür wurde geöffnet) |
101-
10295| Funktion | Bedeutung |
10396| -------------| --------------------------------|
10497| turnOn() | einschalten |
@@ -108,15 +101,23 @@ sollen implementiert werden:
108101| openDoor() | Tür öffnen |
109102| closeDoor() | Tür schließen |
110103
104+ | Zustand | Bedeutung |
105+ | ---------| --------------------------------|
106+ | Off | Ausgeschaltet |
107+ | On | Eingeschaltet |
108+ | Washing | Spült |
109+ | Paused | Pausiert ( Tür wurde geöffnet) |
110+
111111Initial befindet sich die Spülmaschine im Zustand "Off". Schaltet man sie mit der Funktion ` turnOn() ` ein, befindet sie sich
112- im Zustand "On". Betätigt man dann die ` wash() ` -Funktion, wird sie in den Zustand "Washing" versetzt.
112+ im Zustand "On". Betätigt man dann die ` wash() ` -Funktion, wird sie in den Zustand "Washing" versetzt, u.s.w .
113113
114114In diesem Kata werden nur die im Zustandsdiagramm dargestellten Zustandsübergänge realisiert. Ein neuer Zustand wird
115115erreicht, wenn eine Funktion ausgeführt wird, die durch einen vom aktuellen Zustand wegführenden Pfeil dargestellt ist.
116- Beispiel: ist die Spülmaschine im Zustand "Washing", und die Funktion ` openDoor() ` wird ausgeführt, ändert sich der
116+
117+ ** Beispiel:** ist die Spülmaschine im Zustand "Washing", und die Funktion ` openDoor() ` wird ausgeführt, ändert sich der
117118Zustand auf "Paused".
118119
119- In allen anderen Fällen soll sich der Zustand der Maschine nicht ändern. Zum Beispiel: wenn die ` wash() ` -Funktion
120+ In allen anderen Fällen soll der Zustand der Maschine sich nicht ändern. Zum Beispiel: wenn die ` wash() ` -Funktion
120121betätigt wird, während die Maschine sich im Zustand "Off" befindet, weil sie noch nicht eingeschaltet ist,
121122bleibt die Maschine im Zustand "Off".
122123
@@ -134,8 +135,8 @@ Alle konkreten Zustände erweitern die abstrakte Klasse `DishwasherState`. Sie m
134135` getStateName() ` überschreiben und den Namen ihres repräsentierten Zustands zurückgeben (z.B. "off", "on", ...).
135136
136137Alternativ könnte ` DishwasherState ` als Interface realisiert werden. Hier wurde jedoch die abstakte Klasse gewählt,
137- damit dort das Standardverhalten für nicht definierte Zustandsübergänge implementiert und an die konkreten Zustandsklassen
138- vererbt werden kann.
138+ damit dort das Standardverhalten für nicht definierte Zustandsübergänge (keine Zustandsänderung) implementiert und an
139+ die konkreten Zustandsklassen vererbt werden kann.
139140
140141In den Zustandsklassen werden nur die im Zustandsdiagramm definierten Zustandsänderungen durch Überschreiben der
141142entsprechenden Funktions-Methoden implementiert (z.B. ` turnOn() ` in der Klasse ` OffState ` , die den Zutand "Off"
0 commit comments