Keer terug naar het project
Vervoer. Als jouw project niet volledig afgewerkt was, dan haal je de voorbeeldoplossing van Minerva af; dat draagt de naam
3_Vervoer.
Tot nu toe werden de treinen in een eerste array opgeslagen, de trucks (inclusief de maximumGewichtTrucks) in een tweede array.
Dat is uiteraard niet handig. Om alle voertuigen te kunnen opslaan in één arrayList moet eerst een interface worden voorzien.
Voeg dus in dezelfde package een nieuwe "Java Interface" toe voor de interface IVoertuig.
In de interface komen alle publieke methodes die voor een (algemeen) voertuig van nut zijn. We beperken ons hier tot:
- int getAantalPassagiers()
- int getMaxSnelheid()
Pas de klassen Trein en Trucks aan zodat ze deze interface implementeren.
In de klasse Voertuigen kan je nu alle voertuigen bijhouden in één arraylist.
Declareer dus een ArrayList waarin je zowel treinen als trucks (in volgorde van inlezen) zal opslaan.
Doe de nodige aanpassingen zodat alle methodes van deze klasse nog steeds correct werken.
Tips:
- Pas eerst enkel de instantievariabelen en de constuctor aan, en test alvast uit of dit werkt (zonder andere methodes aan te roepen).
- Pas nu alle andere methodes één voor één aan, maar wacht nog even met de methode kiesTruck().
- Schrijf eerst de methode kiesVoertuig() die een willekeurig voertuig kiest. Pas daarna de methode kiesTruck() aan.
Merk op: Dodona controleert enkel de klasse Voertuigen. De nieuwe interface IVoertuig en de aanpassingen aan de klassen Trein en Trucks worden niet gecontroleerd.