O'Reilly logo

Entwurfsmuster von Kopf bis Fubß by Bert Bates, Kathy Sierra, Elisaebth Freeman, Eric Freeman

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4.8. Eine Fabrikmethode deklarieren

Mit nur ein paar Veränderungen an Pizzeria sind wir von der Instantiierung der konkreten Klassen über ein Objekt-Handle zu einem Satz von Unterklassen übergegangen, die jetzt diese Verantwortung übernehmen. Sehen wir uns das aus der Nähe an:

public abstract class Pizzeria {

  public Pizza bestellePizza(String typ) {

    Pizza pizza = erstellePizza(typ);

    pizza.vorbereiten();
    pizza.backen();
    pizza.schneiden();
    pizza.verpacken();

    return pizza;
  }

  protected abstract Pizza erstellePizza(String element);
  // andere Methoden
}

Die Unterklassen von Pizzeria kümmern sich für uns in der Methode erstellePizza() um die Objekt-Instantiierung.

BerlinPizzeria

erstellePizza()()

MünchenPizzeria

erstellePizza()

Die ganze Verantwortung ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required