Java Reference
In-Depth Information
public int gibKosten() // "dekoriert" die Kosten
{
return auto.gibKosten() + 2500;
}
}
// Datei: Seitenairbags.java
class Seitenairbags extends Ausstattung
{
public Seitenairbags(IAuto pIAuto)
{
super (pIAuto);
}
public void zeigeDetails() // "dekoriert" die Details
{
auto.zeigeDetails();
System.out.print(", Seitenairbags");
}
public int gibKosten() // "dekoriert" die Kosten
{
return auto.gibKosten() + 1000;
}
}
Die Klasse Client zeigt die Dekoration von Komponenten mit verschiedenen Aus-
stattungen vom Typ Klimaanlage , Navigationssystem und Seitenairbags . In
den im Folgenden gezeigten drei Fällen des Client-Beispiels werden jeweils nach der
Objekterzeugung Details hinsichtlich der dekorierten Variante sowie die Gesamtkosten
ausgegeben:
// Datei: Client.java
class Client
{
public static void main(String[] args)
{ // Auto mit Klimaanlage
IAuto auto = new Klimaanlage (new Limousine());
auto.zeigeDetails();
System.out.println ("\nfuer "+ auto.gibKosten() +
" Euro\n");
// Dynamische Erweiterung der Limousine mit Ausstattungen
auto = new Navigationssystem (new Seitenairbags(auto));
auto.zeigeDetails();
System.out.println ("\nfuer "+ auto.gibKosten() +
" Euro\n");
// Cabrio Variante
auto = new Navigationssystem (new Seitenairbags(new Cabrio()));
auto.zeigeDetails();
Search WWH ::




Custom Search