//Erstellen Sie ein Klasse Pizza
public class Pizza {
private String name;
//Jedes neu erstellt Pizza-Objekt soll zunächst roh sein
private boolean baked,tomaten,kaese,oregano,oliven,schinken,salami,pilze,sardellen,ananas,thunfisch;
//Standartkonstruktor
public Pizza(){
this.name = "";
}
//Eine Pizza bekommt über den Konstruktor einen Namen zugewiesen
public Pizza(String name){
this.name = name;
}
//der sich anschlieÿend über eine Methode auslesen
public String getName(){
return this.name;
}
//aber nicht mehr verändern lässt.
//Der Zustand (roh oder gebacken)lässt sich ebenfalls abfragen.
public void getBaked(){
if (this.baked) System.out.println("Die Pizza ist gebacken");
else System.out.println("Die Pizza ist noch roh");
}
// kann über einen Methodenaufruf gebacken werden.
public void setBaked(){
this.baked = true;
}
// Weiterhin soll die Klasse ein Methode bereitstellen, um einen Belag auf die Pizza zu legen.
public void setBelag(Belag belag){
//Ein Belag lässt sich nur dann hinzufügen, wenn die Pizza noch nicht gebacken ist.
if (this.baked) {
switch (belag){
case tomaten: this.tomaten = true; break;
case kaese: this.kaese = true; break;
case oregano: this.oregano = true; break;
case oliven: this.oliven = true; break;
case schinken: this.schinken = true; break;
case salami: this.salami = true; break;
case pilze: this.pilze = true; break;
case sardellen: this.sardellen = true; break;
case ananas: this.ananas = true; break;
case thunfisch: this.thunfisch = true; break;
default: System.out.println("Das war kein gueltiger Belag (Type Lowercase)");
}
}
else System.out.println("Die Pizza ist noch roh");
}
//Schließlich muss es auch eine Methode geben, um den gegenwärtigen Belag der Pizza zu erfragen.
public void getBelag() {
System.out.print("Auf der Pizza befindet sich folgendens:\n ");
if (this.tomaten) System.out.print("Tomaten ");
if (this.kaese) System.out.print("Kaese ");
if (this.oregano) System.out.print("Oregano ");
if (this.oliven) System.out.print("Oliven ");
if (this.schinken) System.out.print("Schinken ");
if (this.salami) System.out.print("Salami ");
if (this.pilze) System.out.print("Pilze ");
if (this.sardellen) System.out.print("Sardellen ");
if (this.ananas) System.out.print("Ananas ");
if (this.thunfisch) System.out.print("Thunfisch ");
System.out.print("\n");
}
// Für die Modellierung des Pizzabelags bietet sich eine enum-Klasse an.
public enum Belag
{
tomaten,kaese,oregano,oliven,schinken,salami,pilze,sardellen,ananas,thunfisch;
}
public class ItalienischePizza extends Pizza {
private int wirbelcounter=0;
public void teigDurchDieLuftWirbeln(){
wirbelcounter++;
}
}
public class VegetarischePizza extends Pizza {
private boolean closed;
public void zuklappen(){
this.closed=true;
}
public void getZugeklappt(){
if (this.closed) System.out.println("Die Pizza ist eine Calzone");
else System.out.println("Die Pizza ist keine Calzone");
}
}
public class PizzaMagherita extends ItalienischePizza {
this.name="Pizza Magherita";
}
}