1.3-Object-Georienteerd-Programmeren

Parkeergarage

We gaan het administratiesysteem van een parkeergarage modelleren in de volgende opdracht. Een parkeergarage heeft twee soorten plekken: plekken voor auto’s en plekken voor motoren.

Het aantal plekken voor auto’s en het aantal plekken voor motoren is eenmalig instelbaar bij het aanmaken van de parkeergarage.

Een auto en een motor hebben beiden een kenteken, een start datum/tijd (het moment dat ze de parkeergarage inrijden) en een eind datum/tijd (het moment dat ze wegrijden en hebben betaald). Zodra een auto of een motor wegrijdt komt er uiteraard weer een plek vrij, maar we slaan het object nog wel op in ons archief, zodat we achteraf kunnen bepalen wat er verdiend is met de parkeergarage.

De tarieven voor auto en motor zijn verschillend:

Je hoeft enkel geld te rekenen voor hele uren. (0-59 minuten parkeren is dus gratis, 60-119 minuten is dus 1 uur, etc.) Het maakt verder niet uit of je overdag of ‘s nachts parkeert, de kosten worden altijd op dezelfde manier berekend.

Als een auto of motor de parkeergarage in wil rijden, maar de garage is vol dan wordt er een zelf te maken ParkingGarageException gegooid.

Zorg ervoor dat de parkeergarage methoden heeft om:

Om je op weg te helpen hebben wij een Application klasse bedacht (klik hier om deze te downloaden) met voorbeeldcode zodat je een idee hebt hoe je je programma kan testen! Uiteraard missen alle overige klassen nog, deze moet je zelf schrijven.

Bovendien geven we jullie de VehicleCreator klasse (klik hier) die wat hulpmethoden bevat om eenvoudig wat voorbeeld-voertuigen aan te kunnen maken. Ga vooral in de officiële Java documentatie opzoek naar de beschrijvingen van de methoden die we hier gebruiken als je twijfelt over wat bepaalde code doet!