Hausaufgabe 06 - Objektorientierung: Kapselung/Vererbung/Polymorphie

Deine Hausaufgabe:
Erzeuge eine Klasse "Getraenkeautomat" und übernimm alle Attribute und Methoden
aus der Klasse Kaffeeautomat.
Entferne alle Referenzen auf die Kaffeesorte. Passe auch getBeschreibung() entsprechend an.
Mache alle Methoden public.
Lass die Klasse Kaffeeautomat von Getraenkeautomat erben und entferne den doppelten Code
für Bezeichnung und Füllstand.
Erzeuge eine Klasse "Softdrinkautomat", lasse sie von Getraenkeautomat erben.
Füge ein Enum "Softdrinksorte" hinzu mit den Ausprägungen COLA, FANTA und SPRITE
und ergänze eine Methode getName() analog zur Kaffeesorte.
Füge der Klasse Softdrinkautomat ein Attribut "softdrinksorte" vom Typ des neuen Enums hinzu
und ergänze passende Getter und Setter.
Füge einen Konstruktor mit allen Attributen und einen nur mit der Beschreibung
und sinnvollen Standardwerten analog zu Kaffeeautomat hinzu.
Füge Softdrinkautomat eine Methode fuelleSirupEin(Integer mengeInProzent) hinzu
analog zu fuelleBohnenEin() in Kaffeeautomat.
Extrahiere den gemeinsamen Code von fuelleSirupEin() und fuelleBohnenEin()
in eine neue Methode "public Integer fuelleAuf(Integer mengeInProzent)" in Getraenkeautomat.
Diese Methode gibt die tatsächlich aufgefüllte Menge zurück, anstatt sie auszugeben.
Verwende diese Information für die Ausgabe in den Methoden der beiden Subklassen.
Erzeuge am Ende der Main-Methode in Kantine einen neuen Softdrinkautomat "SDA-001"
für Fanta mit Füllstand 50% und gib seine Beschreibung auf der Konsole aus.
Fülle SDA-001 mit 30% Sirup und gib seine Beschreibung erneut aus.
Prüfe die Ausgabe des Programms. Es sollten alle Automaten ausgegeben werden,
aber die Kaffeesorte bzw. die Softdrinksorte fehlen.
----
00:00 Einleitung
00:18 Bisheriger Code
00:43 Klasse Getraenkeautomat anlegen
02:30 Methoden public machen
02:49 Vererbung einführen
03:47 super-Konstruktor aufrufen
04:28 Reihenfolge der Konstruktor-Parameter
05:31 Läuft der Code noch?
06:12 Klasse Softdrinkautomat anlegen
06:39 Enum Softdrinksorte anlegen
07:17 Sorte zum Softdrinkautomaten hinzufügen
09:11 Konstruktor hinzufügen
09:39 Methode fuelleSirupEin() hinzufügen
10:39 Gemeinsamen Code in Basisklasse schieben
12:33 Code in Subklassen wiederverwenden
15:03 Spezifisches Verhalten ergänzen
16:47 Main-Methode anpassen
18:35 Softdrinkautomaten auffüllen
19:01 Läuft der Code?
19:19 Review des finalen Codes

Пікірлер: 2

  • @thewandererbeats
    @thewandererbeats2 ай бұрын

    Vielen Dank für deine tollen Videos. Bin gerade up to date mit all deinen und freue mich darauf was noch kommt. 🎉

  • @StefanMacke

    @StefanMacke

    2 ай бұрын

    Gern geschehen. Knapp die Hälfte hast du jetzt. Ein bisschen was kommt noch. :-)

Келесі