Opgave 4 (2021)
{% hint style="info" %} Volgende opgave was de vaardigheidsproefopdracht voor het 1e zit examen van dit vak (OOP) in juni 2021
{% hint style="info" %} Volgende opgave was de vaardigheidsproefopdracht voor het 1e zit examen van dit vak (OOP) in juni 2021
De sportleraar is nogal slordig. Hij verliest altijd zijn dure drinkbussen. De school heeft daarom jouw diensten ingehuurd om een deel van het materiaal eenvoudig terug te vinden.
Volgende filmpje toont de volledige werking van de applicatie:

Een sportleraar kan een rugzak met 2 soorten items vullen:
De rugzak zelf is ook trackable en zal zelfs kunnen aangeven op welke hoogte deze zich bevindt.
Om het leuk te maken zullen de posities van de trackable items (drinkbussen en rugzakken) telkens veranderen wanneer je ze aanroept.
De spullen die je in een rugzak plaats zullen zich in het progamma niet op dezelfde locatie als de rugzak zelf bevinden, daar alle trackable elementen (rugzak en drink) steeds nieuwe willekeurige locaties krijgen (beeld je in dat de leraar de rugzak vult, ermee naar het park vertrekt, uitlaadt en nu geraken alle spulletjes zoek in het park)
Maak een klasse GPSLocation met volgende zaken:
Latitude en LongitudeToString wordt overschreven en output het object als volgt Latitude: 4, Longitude: 6 (met de getallen natuurlijk de effectieve waarde van de properties van dat object).Maak een klasse AdvancedGPSLocation. Deze klasse is een GPSLocation met als extra's:
Heigth.ToString toont ook de hoogte nu, bijvoorbeeld: Latitude: 4, Longitude: 6, Height: 5.Maak een interface ITrackable die één methode GetCurrentLocation bevat, die een GPSLocation als returntype heeft en geen parameters verwacht.
Een klasse die enkel ToString overschrijft om de tekst "een eenvoudig sportitem" terug te geven.
Maak een klasse Drinkbusdie een SportItem is en die de ITrackable interface implementeert.
Een drinkbus zal steeds een nieuwe willekeurige locatie teruggeven bij GetCurrentLocation en zal in ToString de tekst "een drinkbus" teruggeven.
Maak een klasse Rugzak die de ITrackable interface implementeert.
AdvancedGPSLocation terug telkens GetCurrentLocation wordt aangeroepen.Dictionary van sportitems (de rugzakinhoud) waarbij een string als key van ieder item zal gehanteerd worden.ToString zodat informatie als volgt op het scherm verschijnt (onderaan voorbeeld). Tip:Gebruik maximaal de ToString-methode van objecten:
ITrackable heeft dan zal de locatie van het sportitem met GetCurentLocation aangeroepen worden om ook deze informatie te tonen.Een voorbeeld van de ToString methode output van een rugzak met daarin een drinkbus en een gewoon sportitem:
Rugzak op locatie: Latitude:1, Longitude:9, Height:1
Met inhoud:
mijndrinkbus (Een drinkbus)
-Laatste locatie is Latitude:3, Longitude:5
bal (Een eenvoudig sportitem)
-Geen tracker aanwezig
( mijndrinkbus en bal zijn de keys van ieder sportitem)
Visualiseer wanneer deze wordt aangeroepen (geen parameters) zal deze de inhoud van de rugzak én de rugzak zelf op het scherm tonen aan de hand van lettertjes, als volgt:
r voor een rugzakD voor een drinkbusEen voorbeeld van de uitvoer van de Visualiseer-methode indien we een rugzak hebben op locatie (2,3), met daarin 1 drinkbus op (4,4) en 1 drinkbus op (5,6):
r
D
D
Schrijf een applicatie die als volgt werkt:
SportItem of Drinkbus, beide 50% kans om gekozen te worden) en vraag je vervolgens de key waarmee dit sportitem in de rugzak-dictionary moet bewaard worden.ToString)Visualiseer methode van de rugzak aanroept.Merk op dat de locaties die in stap 2 getoond worden niet overeenkomen met de locaties die bij de visualisatie in stap 5 worden gebruikt.