Aufgabe 12 - Klassen im Zusammenspiel
Aufgabe 12 - Klassen im Zusammenspiel
Abschnitt betitelt „Aufgabe 12 - Klassen im Zusammenspiel“Worum geht es?
Abschnitt betitelt „Worum geht es?“Echte Programme bestehen aus mehreren Klassen, die zusammenarbeiten: Sie modellieren einen Online-Warenkorb aus Produkt und Warenkorb (siehe Kapitel OOP I - Klassen und Objekte).
In dieser Übung üben Sie:
- Zerlegen: aus einer Textbeschreibung Klassen und Methoden ableiten.
- Verknüpfen: Objekte als Bestandteile anderer Objekte (“hat-ein”).
- Verantwortlichkeiten: entscheiden, welche Klasse was können muss.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- VS Code, Browser-Konsole.
Szenario
Abschnitt betitelt „Szenario“Ein Online-Shop verkauft Produkte. Jedes Produkt hat Bezeichnung, Preis und Lagerstand. Kundinnen und Kunden legen Produkte in beliebiger Stückzahl in ihren Warenkorb, können Positionen wieder entfernen und sehen jederzeit die Gesamtsumme. Beim Bestellen wird geprüft, ob alle Stückzahlen lagernd sind; wenn ja, sinkt der Lagerstand entsprechend.
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Entwurf auf Papier
Abschnitt betitelt „Teil A - Entwurf auf Papier“- Unterstreichen Sie im Szenario Substantive (Klassen-/Feld-Kandidaten) und Verben (Methoden-Kandidaten).
- Notieren Sie Ihren Entwurf: welche Klassen, welche Felder, welche Methoden. Noch ohne Code.
Teil B - Implementieren
Abschnitt betitelt „Teil B - Implementieren“Produktmitbezeichnung,preis,lagerstandundistVerfuegbar(stueck).Warenkorbmit Positionen (Produkt + Stückzahl),hinzufuegen(produkt, stueck),entfernen(bezeichnung),gesamtsumme().bestellen(): prüft alle Positionen, bucht bei Erfolg die Lagerstände ab und leert den Korb; bei Misserfolg bleibt alles unverändert und die fehlenden Produkte werden gemeldet.
Teil C - Durchspielen
Abschnitt betitelt „Teil C - Durchspielen“Skript: 3 Produkte anlegen (eines mit Lagerstand 2), Korb füllen (davon 3 Stück des knappen Produkts), bestellen (muss scheitern), Stückzahl korrigieren, erneut bestellen (muss klappen), Lagerstände ausgeben.
shop.js plus Ihr Papier-Entwurf aus Teil A (Foto). Das Skript aus Teil C dient als Nachweis, dass alle Regeln eingehalten werden.