In deze oefening simuleren we de werking van een kopieertoestel waarmee je op verschillende papiertypes kan afdrukken. We geven een instantie van de klasse Kopieertoestel de mogelijkheid om verscheidene papierlades te beheren. In de echte wereld hebben kopieertoestellen de mogelijkheid om te kopiëren naar A3-formaat, A4-formaat enz. In deze oefening gaan we ervan uit dat elke papierlade een ander papiertype bevat. Er komen geen twee papierlades voor met hetzelfde papiertype. Je hoeft dit niet te programmeren, want je mag erop vertrouwen dat de gebruiker van je kopieertoestel dit weet (= slimme gebruiker). Wanneer je denkt lussen nodig te hebben, zorg je steeds voor de best passende lus in de gegeven context.

BlueJ

In deze oefening programmeren we de klasse Kopieertoestel, een klasse die instanties van de klasse Papierlade verzamelt in een ArrayList. Je maakt in BlueJ het project Kopieertoestel met volgende klassen:

De klasse Papierlade krijg je cadeau. In het handboek vind je de API-pagina van Papierlade. Een instantie van deze klasse heeft twee velden:

Alvorens je aan de opgave begint, loont het de moeite om de werking van de klasse Papierlade te bestuderen. Zo kan de papierlade 64 A4-bladen bevatten of 27 A3-bladen enz. Let op, instanties van deze klasse kunnen een onbeperkt aantal bladen bevatten. Bovendien kan het aantal bladen ook negatief worden.

Opgave

Een instantie van de klasse Kopieertoestel heeft twee velden:

Jouw programmeeropdracht:

Bronnen

Vandewalle, D.2 (2018). Leren programmeren, een objectgeoriënteerde aanpak, Java in BlueJ3 (2de editie). Acco Uitgeverij4.