In deze oefening simuleren we het ophalen van vuilnisbakken door de vuilniswagen. De
klasse Vuilnisbak
werd reeds geprogrammeerd. De broncode kan je niet bekijken noch
veranderen. In het handboek vind je een afdruk van de API-pagina van Vuilnisbak
.
In deze oefening programmeren we de klasse Vuilniswagen
. Een instantie van de klasse
Vuilniswagen
werkt samen met instanties van de klasse Vuilnisbak
. Je maakt in BlueJ het project Vuilnisophaling aan met volgende klassen::
Vuilnisbak
: de gecompileerde code van Vuilnisbak
kan je hier1 downloaden.Vuilniswagen
: kopieer alvast de boilerplate-code uit de indiensectie op deze pagina naar jouw project.Alvorens je aan de opgave begint, loont het de moeite om de werking van de klasse Vuilnisbak
te bestuderen.
Het ophalen van het huisvuil gebeurt in drie fasen:
De werking van de vuilniswagen ga jij in de klasse Vuilniswagen
programmeren.
In de klassendefinitie vind je drie velden terug:
lading
: de totale hoeveelheid vuilnis (uitgedrukt in kg) die de vuilniswagen reeds opgehaald heeft,maxLading
: de maximale hoeveelheid vuilnis (uitgedrukt in kg) die de vuilniswagen kan ophalen,vuilnisbak
: de vuilnisbak die wordt vastgeklikt aan de vuilniswagen (of niets).Naast de velden krijg je ook de constructor en twee accessormethoden cadeau. Programmeer volgende methoden:
void vuilnisbakAanhaken(Vuilnisbak)
De vuilnisbak in de parameter wordt aan de vuilniswagen vastgeklikt.
void vuilnisbakLoshaken()
De vuilnisbak wordt losgehaakt van de de vuilniswagen.
void vuilnisbakLegen()
Wanneer een vuilnisbak aangehaakt werd en het maximumgewicht van het vuilnis in de
vuilniswagen niet overschreden zal worden, dan wordt het vuilnis uit de vuilnisbak
gestort in de vrachtwagen. Na het legen van de vuilnisbak kan de toestand van de
vuilnisbak en de vuilniswagen gewijzigd zijn. Om dit na te gaan, inspecteer je na het
gebruik van deze methode de testobjecten in de \textit{Objectenbank`.
void print()
Deze methode toont informatie over de vuilniswagen in het Terminalvenster.
In het volgende voorbeeld bevat de vuilniswagen 879,5 kg vuilnis. De maximale lading
is 1000 kg. Er werd net een vuilnisbak met 35,7 kg vuilnis aangehaakt aan de
vuilniswagen.
Vandewalle, D.2 (2018). Leren programmeren, een objectgeoriënteerde aanpak, Java in BlueJ3 (2de editie). Acco Uitgeverij4.