Zum Inhalt springen

Aufgabe 12 - Klassen im Zusammenspiel

Zu Zen-Modus wechseln

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.
  • VS Code, Browser-Konsole.

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.

  1. Unterstreichen Sie im Szenario Substantive (Klassen-/Feld-Kandidaten) und Verben (Methoden-Kandidaten).
  2. Notieren Sie Ihren Entwurf: welche Klassen, welche Felder, welche Methoden. Noch ohne Code.
  1. Produkt mit bezeichnung, preis, lagerstand und istVerfuegbar(stueck).
  2. Warenkorb mit Positionen (Produkt + Stückzahl), hinzufuegen(produkt, stueck), entfernen(bezeichnung), gesamtsumme().
  3. 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.

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.