Java Reference
In-Depth Information
public Alarmanlage()
{
zustand = inaktiv;
// Startzustand
}
public void anschalten()
{
aendereZustand(aktiv);
}
public void ausschalten()
{
aendereZustand(inaktiv);
}
public void personErkannt()
{
zustand.personErkannt();
}
private void aendereZustand (IZustandAlarmanlage neuerZustand)
{
zustand = neuerZustand;
}
}
Im folgenden Beispielprogramm wird ein Objekt der Klasse
Alarmanlage
durch Auf-
ruf der Methode
ausschalten()
zuerst in den Zustand
AlarmanlageInaktiv
ver-
setzt und die Methode
personErkannt()
aufgerufen. Danach wird ein Zustands-
wechsel in den Zustand
AlarmanlageAktiv
durchgeführt und die Methode
person-
Erkannt()
erneut aufgerufen:
// Datei: Client.java
public class Client
{
public static void main (String[] args)
{
Alarmanlage a = new Alarmanlage();
System.out.println ("Anlage deaktivieren...");
System.out.println ("Bei Kundentrieb stoert das.");
a.ausschalten();
System.out.println ("Person erkannt.");
a.personErkannt();
System.out.println ("Feierabend.");
System.out.println ("Aktivierung der Alarmanlage.");
a.anschalten();
System.out.println ("Person erkannt.");
a.personErkannt();
}
}
Search WWH ::
Custom Search