Tante-Emma-Laden
Setze das abgebildete Klassendiagramm vollständig um. Erstelle zum Testen eine ausführbare Klasse und/oder eine Testklasse.
Klassendiagramm
Allgemeine Hinweise
- Aus Gründen der Übersicht werden im Klassendiagramm keine Getter und Object-Methoden dargestellt
- So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die Object-Methoden wie gewohnt implementiert werden
Hinweis zur Klasse Goods
Die Methode int compareTo(other: Goods)
soll so implementiert werden, dass
damit Waren aufsteigend nach ihrer Beschreibung sortiert werden können.
Hinweise zur Klasse CornerShop
- Die Methode
Optional<Integer> getAmountByDescription(description: String)
soll die Anzahl Waren zur eingehenden Warenbeschreibung als Optional zurückgeben - Die Methode
void buyGoods(goods: Goods, amount: int)
soll die eingehende Ware im Lager (store
) um die eingehende Anzahl erhöhen - Die Methode
void sellGoods(goods: Goods, amount: int)
soll die eingehende Ware im Lager (store
) um die eingehende Anzahl reduzieren. Für den Fall, dass keine ausreichende Anzahl an Waren vorhanden ist, soll die AusnahmeOutOfStockException
ausgelöst werden