From 5f8d36b99496c9543e987c53b1ecd3f4b914a6b4 Mon Sep 17 00:00:00 2001 From: Peter Hertkorn <peter.hertkorn@reutlingen-university.de> Date: Thu, 12 Nov 2020 20:40:31 +0100 Subject: [PATCH] Add pizza classes --- src/pizzeria/CheesePizza.java | 11 ++++++++ src/pizzeria/ClamPizza.java | 11 ++++++++ src/pizzeria/PepperoniPizza.java | 12 +++++++++ src/pizzeria/Pizza.java | 43 ++++++++++++++++++++++++++++++++ src/pizzeria/PizzaStore.java | 28 +++++++++++++++++++++ src/pizzeria/PizzaTestDrive.java | 16 ++++++++++++ src/pizzeria/VeggiePizza.java | 15 +++++++++++ src/readme.txt | 1 - 8 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 src/pizzeria/CheesePizza.java create mode 100644 src/pizzeria/ClamPizza.java create mode 100644 src/pizzeria/PepperoniPizza.java create mode 100644 src/pizzeria/Pizza.java create mode 100644 src/pizzeria/PizzaStore.java create mode 100644 src/pizzeria/PizzaTestDrive.java create mode 100644 src/pizzeria/VeggiePizza.java delete mode 100644 src/readme.txt diff --git a/src/pizzeria/CheesePizza.java b/src/pizzeria/CheesePizza.java new file mode 100644 index 0000000..ec07ded --- /dev/null +++ b/src/pizzeria/CheesePizza.java @@ -0,0 +1,11 @@ +package pizzeria; + +public class CheesePizza extends Pizza { + public CheesePizza() { + name = "Cheese Pizza"; + dough = "Regular Crust"; + sauce = "Marinara Pizza Sauce"; + toppings.add("Fresh Mozzarella"); + toppings.add("Parmesan"); + } +} diff --git a/src/pizzeria/ClamPizza.java b/src/pizzeria/ClamPizza.java new file mode 100644 index 0000000..7159d5e --- /dev/null +++ b/src/pizzeria/ClamPizza.java @@ -0,0 +1,11 @@ +package pizzeria; + +public class ClamPizza extends Pizza { + public ClamPizza() { + name = "Clam Pizza"; + dough = "Thin crust"; + sauce = "White garlic sauce"; + toppings.add("Clams"); + toppings.add("Grated parmesan cheese"); + } +} diff --git a/src/pizzeria/PepperoniPizza.java b/src/pizzeria/PepperoniPizza.java new file mode 100644 index 0000000..30464f6 --- /dev/null +++ b/src/pizzeria/PepperoniPizza.java @@ -0,0 +1,12 @@ +package pizzeria; + +public class PepperoniPizza extends Pizza { + public PepperoniPizza() { + name = "Pepperoni Pizza"; + dough = "Crust"; + sauce = "Marinara sauce"; + toppings.add("Sliced Pepperoni"); + toppings.add("Sliced Onion"); + toppings.add("Grated parmesan cheese"); + } +} diff --git a/src/pizzeria/Pizza.java b/src/pizzeria/Pizza.java new file mode 100644 index 0000000..1d25eb2 --- /dev/null +++ b/src/pizzeria/Pizza.java @@ -0,0 +1,43 @@ +package pizzeria; + +import java.util.ArrayList; + +abstract public class Pizza { + String name; + String dough; + String sauce; + ArrayList<String> toppings = new ArrayList<String>(); + + public String getName() { + return name; + } + + public void prepare() { + System.out.println("Preparing " + name); + } + + public void bake() { + System.out.println("Baking " + name); + } + + public void cut() { + System.out.println("Cutting " + name); + } + + public void box() { + System.out.println("Boxing " + name); + } + + public String toString() { + // code to display pizza name and ingredients + StringBuffer display = new StringBuffer(); + display.append("---- " + name + " ----\n"); + display.append(dough + "\n"); + display.append(sauce + "\n"); + for (int i = 0; i < toppings.size(); i++) { + display.append((String )toppings.get(i) + "\n"); + } + return display.toString(); + } +} + diff --git a/src/pizzeria/PizzaStore.java b/src/pizzeria/PizzaStore.java new file mode 100644 index 0000000..4aa035e --- /dev/null +++ b/src/pizzeria/PizzaStore.java @@ -0,0 +1,28 @@ +package pizzeria; + +public class PizzaStore { + + public Pizza orderPizza(String type) { + Pizza pizza = null; + + if (type.equals("cheese")) { + pizza = new CheesePizza(); + } else if (type.equals("pepperoni")) { + pizza = new PepperoniPizza(); + } else if (type.equals("clam")) { + pizza = new ClamPizza(); + } else if (type.equals("veggie")) { + pizza = new VeggiePizza(); + } else { + return pizza; + } + + pizza.prepare(); + pizza.bake(); + pizza.cut(); + pizza.box(); + + return pizza; + } + +} diff --git a/src/pizzeria/PizzaTestDrive.java b/src/pizzeria/PizzaTestDrive.java new file mode 100644 index 0000000..6dae385 --- /dev/null +++ b/src/pizzeria/PizzaTestDrive.java @@ -0,0 +1,16 @@ +package pizzeria; + +public class PizzaTestDrive { + + public static void main(String[] args) { + PizzaStore store = new PizzaStore(); + + Pizza pizza = store.orderPizza("cheese"); + System.out.println("We ordered a " + pizza.getName() + "\n"); + + pizza = store.orderPizza("veggie"); + System.out.println("We ordered a " + pizza.getName() + "\n"); + + System.out.println(new PizzaStore().orderPizza("pepperoni").toString()); + } +} diff --git a/src/pizzeria/VeggiePizza.java b/src/pizzeria/VeggiePizza.java new file mode 100644 index 0000000..63429c1 --- /dev/null +++ b/src/pizzeria/VeggiePizza.java @@ -0,0 +1,15 @@ +package pizzeria; + +public class VeggiePizza extends Pizza { + public VeggiePizza() { + name = "Veggie Pizza"; + dough = "Crust"; + sauce = "Marinara sauce"; + toppings.add("Shredded mozzarella"); + toppings.add("Grated parmesan"); + toppings.add("Diced onion"); + toppings.add("Sliced mushrooms"); + toppings.add("Sliced red pepper"); + toppings.add("Sliced black olives"); + } +} diff --git a/src/readme.txt b/src/readme.txt deleted file mode 100644 index 1724e3d..0000000 --- a/src/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Source Code für die Beispiele und Übungsaufgaben \ No newline at end of file -- GitLab