Opgave
Open het project Products en werk de klasse StockManager verder uit.
StockManager slaat objecten van het type Product op in een ArrayList. De methode addProduct
voegt al eel product toe aan de collectie maar de methodes deliver, findProduct,
printProductDetails en numberInStock moeten nog verder uitgewerkt worden.
Elk verkocht product wordt voorgesteld door een instantie van de klasse Product,
die een productnummer, de naam van het product en het aantal van dat product in
voorraad bevat. De klasse product definieert de methode increaseQuantity om toenames
van de voorraad van het product te registreren. De methode sellOne registreert dat er
van het product een exemplaar verkocht is, door het veld quantity te verlagen.
Constructor:
Methodes:
- Voeg de methode printProductDetails om ervoor te zorgen dat je de collectie
producten kunt bekijken. Druk informatie over elk Product object af door de methode
toString ervan aan te roepen.
- Voeg een methode findProduct toe. Deze methode moet in de collectie
producten zoeken naar een product waarvan het veld id overeenkomt met het
ID argument van deze methode. Als de methode in de collectie een overeenkomstig
product vindt, moet de methode dit product retourneren. Als er geen overeenkomstig
product te vinden is, moet de methode null retourneren.
- Voeg de methode numberInStock toe. Deze methode zoekt het product met een overeekommend ID
en retourneert de huidig voorraad van dat product. Als er geen overeenkomstig
product te vinden is, moet de methode 0 retourneren.
- Voeg de methode delivery toe. De methode delivery moet in de lijst producten het product
met een bepaald ID vinden en vervolgens de methode increaseQuantity aanroepen.
- Voeg de methode printProductDetails2 toe met als parameter een voorraadniveau. Deze methode
drukt de informatie over elk product af met een voorraad boven het meegegeven voorraadniveau.
- Pas de methode addProduct aan zodanig dat het niet mogelijk is om een nieuw product toe
te voegen als het nieuwe product hetzelfde ID heeft als een product dat al in de lijst aanwezig is.
Specificaties
- De naam van je programmaklasse moet
StockManager
zijn.