Java Reference
In-Depth Information
if (diff > 0 )
{
System.out.println ("Spule um " + diff +
" Tracks vor.");
}
else
{
System.out.println ("Spule um " + (Math.abs (diff)+1) +
" Tracks zurueck.");
}
System.out.println ("Nun sind wir an der richtigen " +
"Stelle (Lied: " + liedNummer + ")");
currentTrack = liedNummer;
}
public AbspielDaten leseDaten()
{
return new AbspielDaten ("Kassettendaten");
}
public void ausschalten()
{
System.out.println ("Kassettenspieler abgeschalten.");
}
}
Der Client nutzt nur die Funktionen der Abstraktionsklassen Abspielgeraet und
ListenAbspielgeraet zur Steuerung eines Abspielvorgangs. Er kennt insofern
keine Implementierungsobjekte. Wie bereits in Kapitel 4.4.3.3 erwähnt wurde, sagt das
Muster nichts über die Erzeugung der Implementierungsobjekte aus. Um das Beispiel
übersichtlich zu halten, wurde ein einfacher Weg gewählt: Das Hauptprogramm in der
Klasse Client erzeugt konkrete Implementierungsinstanzen vom Typ CDSpieler
und KassettenSpieler . Diese werden dann den Objekten der Abstraktionsklassen
Abspielgeraet und ListenAbspielgeraet übergeben. Hier der Programmcode
des Clients:
// Datei: Client.java
import java.util.ArrayList;
public class Client
{
public static void main (String[] args)
{
Abspielgeraet a = new Abspielgeraet (new CDSpieler());
a.spieleAb (3);
Abspielgeraet b = new Abspielgeraet (new KassettenSpieler());
b.spieleAb (5);
ArrayList<Integer> abspielliste = new ArrayList<Integer>();
abspielliste.add (1);
abspielliste.add (9);
abspielliste.add (3);
Search WWH ::




Custom Search