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