diff --git a/src/Aufgabe4/Kaffee.java b/src/Aufgabe4/Kaffee.java new file mode 100644 index 0000000..1a2c289 --- /dev/null +++ b/src/Aufgabe4/Kaffee.java @@ -0,0 +1,31 @@ +package Aufgabe4; + +/** + * Diese Klasse bietet die Funktionalitaet, um einen Kaffee + * zu kochen. + * + * @author tebe + */ +public class Kaffee extends KoffeinGetraenk { + + /** + * Bereitet einen Kaffee zu. + */ + public void braue() { + braueFilterKaffee(); + } + + public void fuegeZutatenHinzu(){ + fuegeZuckerUndMilchHinzu(); + } + + private void braueFilterKaffee(){ + System.out.println("Filterkaffee brauen"); + } + + private void fuegeZuckerUndMilchHinzu(){ + System.out.println("Zucker und Milch hinzufügen"); + } + + // Weitere Methoden +} diff --git a/src/Aufgabe4/KoffeinGetraenk.java b/src/Aufgabe4/KoffeinGetraenk.java new file mode 100644 index 0000000..6f2e25c --- /dev/null +++ b/src/Aufgabe4/KoffeinGetraenk.java @@ -0,0 +1,27 @@ +package Aufgabe4; + +public abstract class KoffeinGetraenk { + + public void bereiteZu(){ + System.out.println("zubereiten von " + this.getClass().getSimpleName()); + kocheWasser(); + braue(); + giesseInTasse(); + fuegeZutatenHinzu(); + } + + abstract void braue(); + + abstract void fuegeZutatenHinzu(); + + protected void kocheWasser() { + // Implementieren Sie z.B. eine Ausgabe + System.out.println("Wasser kochen"); + } + + protected void giesseInTasse(){ + System.out.println("In Tasse giessen"); + } + +} + diff --git a/src/Aufgabe4/Main.java b/src/Aufgabe4/Main.java new file mode 100644 index 0000000..033e9ea --- /dev/null +++ b/src/Aufgabe4/Main.java @@ -0,0 +1,21 @@ +package Aufgabe4; + +import java.util.ArrayList; + +public class Main { + + public static void main(String[] args) { + ArrayList koffeinGetraenke = new ArrayList<>(); + koffeinGetraenke.add(new Kaffee()); + koffeinGetraenke.add(new Tee()); + + getraenkeZubereiten(koffeinGetraenke); + } + + private static void getraenkeZubereiten(ArrayList koffeinGetraenke) { + for(KoffeinGetraenk koffeinGetraenk : koffeinGetraenke){ + koffeinGetraenk.bereiteZu(); + } + } + +} diff --git a/src/Aufgabe4/Tee.java b/src/Aufgabe4/Tee.java new file mode 100644 index 0000000..81a3e40 --- /dev/null +++ b/src/Aufgabe4/Tee.java @@ -0,0 +1,31 @@ +package Aufgabe4; + +/** + * Diese Klasse bietet die Funktionalitaet, um einen Tee + * zu kochen. + * + * @author tebe + */ +public class Tee extends KoffeinGetraenk { + + /** + * Bereitet einen Tee zu. + */ + public void braue() { + taucheTeebeutel(); + } + + public void fuegeZutatenHinzu(){ + fuegeZitroneHinzu(); + } + + private void taucheTeebeutel(){ + System.out.println("Teebeutel tauchen"); + } + + private void fuegeZitroneHinzu(){ + System.out.println("Zitrone hinzufügen"); + } + + // Weitere Metoden +}