From 77eaddd232dbe544aaffdc0e4876664173b054be Mon Sep 17 00:00:00 2001 From: schrom01 Date: Thu, 23 Dec 2021 14:29:39 +0100 Subject: [PATCH] =?UTF-8?q?Aufgabe=205=20ausgef=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Aufgabe5/Kaffee.java | 31 +++++++++++++++++++++++++++++++ src/Aufgabe5/KoffeinGetraenk.java | 27 +++++++++++++++++++++++++++ src/Aufgabe5/Main.java | 22 ++++++++++++++++++++++ src/Aufgabe5/Tee.java | 31 +++++++++++++++++++++++++++++++ src/Aufgabe5/Trinkbar.java | 7 +++++++ 5 files changed, 118 insertions(+) create mode 100644 src/Aufgabe5/Kaffee.java create mode 100644 src/Aufgabe5/KoffeinGetraenk.java create mode 100644 src/Aufgabe5/Main.java create mode 100644 src/Aufgabe5/Tee.java create mode 100644 src/Aufgabe5/Trinkbar.java diff --git a/src/Aufgabe5/Kaffee.java b/src/Aufgabe5/Kaffee.java new file mode 100644 index 0000000..06893d3 --- /dev/null +++ b/src/Aufgabe5/Kaffee.java @@ -0,0 +1,31 @@ +package Aufgabe5; + +/** + * 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/Aufgabe5/KoffeinGetraenk.java b/src/Aufgabe5/KoffeinGetraenk.java new file mode 100644 index 0000000..7a62281 --- /dev/null +++ b/src/Aufgabe5/KoffeinGetraenk.java @@ -0,0 +1,27 @@ +package Aufgabe5; + +public abstract class KoffeinGetraenk extends Trinkbar { + + 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/Aufgabe5/Main.java b/src/Aufgabe5/Main.java new file mode 100644 index 0000000..d5f4c2d --- /dev/null +++ b/src/Aufgabe5/Main.java @@ -0,0 +1,22 @@ +package Aufgabe5; + +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(); + koffeinGetraenk.trinken(); + } + } + +} diff --git a/src/Aufgabe5/Tee.java b/src/Aufgabe5/Tee.java new file mode 100644 index 0000000..2d5c8aa --- /dev/null +++ b/src/Aufgabe5/Tee.java @@ -0,0 +1,31 @@ +package Aufgabe5; + +/** + * 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 +} diff --git a/src/Aufgabe5/Trinkbar.java b/src/Aufgabe5/Trinkbar.java new file mode 100644 index 0000000..5458cf3 --- /dev/null +++ b/src/Aufgabe5/Trinkbar.java @@ -0,0 +1,7 @@ +package Aufgabe5; + +public class Trinkbar { + public void trinken(){ + System.out.println("Trinken von " + this.getClass().getSimpleName()); + } +}