Java Reference
In-Depth Information
ListenAbspielgeraet l = new ListenAbspielgeraet(new CDSpieler(),
abspielliste);
// Dieser Client nutzt sowohl die Abstraktion als auch
// die spezielle Abstraktion.
l.abspielenUndAusschalten();
}
}
Das Beispielprogramm spielt im CD-Spieler Lied 3 ab, dann im Kassettendeck Lied 5.
Abschließend werden Lied 1, 9 und 3 der eingelegten CD abgespielt und der CD-
Spieler ausgeschaltet.
Hier das Protokoll des Programmlaufs:
Durchsuche Inhaltsverzeichnis
Springe zu Lied 3 durch Positionierung des Lasers.
CD-Daten
Spule an Anfang zurück
Spule um 4 Tracks vor.
Nun sind wir an der richtigen Stelle (Lied: 5)
Kassettendaten
Durchsuche Inhaltsverzeichnis
Springe zu Lied 1 durch Positionierung des Lasers.
CD-Daten
Durchsuche Inhaltsverzeichnis
Springe zu Lied 9 durch Positionierung des Lasers.
CD-Daten
Durchsuche Inhaltsverzeichnis
Springe zu Lied 3 durch Positionierung des Lasers.
CD-Daten
CD-Spieler ausgeschaltet.
4.4.4 Bewertung
4.4.4.1 Vorteile
Die folgenden Vorteile werden gesehen:
x Eine Abstraktion und eine konkrete Implementierung sind nur über das von der Ab-
straktion vorgegebene Interface einer konkreten Implementierung gekoppelt. Damit
ist eine Abstraktion nicht von der konkreten Implementierung abhängig (Depen-
dency Inversion).
x Abstraktionen und Implementierungen können unabhängig voneinander in neuen
Unterklassen weiterentwickelt werden. Neue Abstraktionen und neue Implementie-
rungen können sehr einfach hinzugefügt werden.
x Eine konkrete Implementierung ist vor dem Client verborgen. Wenn die Abstraktion
gleich bleibt und nicht verändert wird, dann kann die konkrete Implementierung
sogar zur Laufzeit ausgetauscht werden. Dies hat den Vorteil, dass der Client nicht
Search WWH ::




Custom Search