Java Reference
In-Depth Information
Die abstrakte Klasse
Produkt
deklariert eine abstrakte Methode
print()
zur Ausga-
be von Informationen über ein Produkt:
// Datei: Produkt.java
public abstract class Produkt
// abstrakte Klasse
{
abstract void print();
// abstrakte Methode
}
Die Klasse
KonkretesProduktA
stellt eine konkrete Klasse des abstrakten Produkts
dar und muss die Methode
print()
implementieren:
// Datei: KonkretesProduktA.java
public class KonkretesProduktA extends Produkt
{
private String x = "A";
void print()
{
System.out.println ("x = " + x);
}
}
Die Klasse
KonkretesProduktB
stellt eine andere konkrete Klasse des abstrakten
Produkts dar und muss ebenfalls die Methode
print()
implementieren:
// Datei: KonkretesProduktB.java
public class KonkretesProduktB extends Produkt
{
private String x = "B";
void print()
{
System.out.println ("x = " + x);
}
}
In der Klasse
Test
werden zwei konkrete Erzeuger instanziiert, mit deren Hilfe konkre-
te Produkte durch die Fabrikmethode erstellt werden:
// Datei: Test.java
public class Test
{
public static void main (String args[])
{
Erzeuger erzeuger;
Produkt produkt;
System.out.println ("Hallo");
erzeuger = new KonkreterErzeugerA();
produkt = erzeuger.erzeugeProdukt();
produkt.print();
erzeuger = new KonkreterErzeugerB();
produkt = erzeuger.erzeugeProdukt();
Search WWH ::
Custom Search