December 2005
Beginner to intermediate
672 pages
14h 12m
German
Nehmen wir an, Sie besitzen eine Pizzeria. Als innovationsfreudiger Pizzeriabesitzer aus Objekthausen könnten Sie Code wie diesen hier schreiben:
Pizza bestellePizza() {
Pizza pizza = new Pizza();
pizza.vorbereiten();
pizza.backen();
pizza.schneiden();
pizza.einpacken();
return pizza;
}
Aus Flexibilitätsgründen sollte das eigentlich eine abstrakte Klasse oder ein Interface sein, aber beides könnten wir nicht direkt instantiieren.
Aber mit einem Typ Pizza kommen Sie nicht aus
Sie fügen also etwas Code hinzu, der den passenden Pizzatyp bestimmt und sich dann darum kümmert, die Pizza zu machen:
Pizza bestellePizza(String typ) { Pizza pizza; if (typ.equals("Salami")) { pizza = new SalamiPizza(); ...