Info vooraf bij Onderdeel 6

Plaats reactie
admin
Site Admin
Berichten: 39
Lid geworden op: 01-02-2017 08:45

Info vooraf bij Onderdeel 6

Bericht door admin » 20-02-2017 12:31

Onderdeel 6 gaat over objectreferenties. In het scenario van dit onderdeel ( de tuinman) zitten geen “hulpklassen” zoals in de eerdere scenario’s. De API is daarmee dus weer anders dan in de eerdere scenario’s. Je moet daarom vanaf nu steeds goed kijken naar welke methoden beschikbaar zijn en hoe je die kunt gebruiken. De API is daarbij erg belangrijk.
Velden, variabelen en objectreferenties
Er wordt expliciet onderscheid gemaakt tussen variabelen enerzijds en objectreferenties anderzijds,
hoewel objectreferenties ook als variabelen kunnen worden beschouwd.
Greenfoot maakt de dingen visueel voor je: door te klikken op Inspect bij een object, verschijnen alle velden, waaronder de variabelen en de objectreferenties.
Deze laatste worden met een pijl weergegeven. Door daar op te klikken krijg je informatie over het
object achter deze objectreferentie.
Het verschil tussen een variabele en een objectreferentie wordt onder 6.2 uitgelegd: https://moodle.informatica-actief.nl/mo ... p?id=35066
Wat het verschil is, werd ook al in onderdeel 5 verteld, vlak onder opdracht 5.1.

Kortom, een object heeft velden (ook wel klassevariabelen genoemd). Een veld kan zijn:
• een variabele van bijvoorbeeld het type int of boolean
• een objectreferentie van bijvoorbeeld de klasse Actor of World (we zeggen ook wel: van het
type Actor of World)
In dit onderdeel worden objectreferenties geïntroduceerd als een manier om objecten van een
andere klasse te kunnen benaderen. Je kunt immers geen methoden van de klasse World aanroepen vanuit de klasse Plant (een subklasse van Actor). Eigenlijk is dit niet het volledige verhaal. Immers, als je een object van dezelfde klasse wilt benaderen, heb je ook een objectreferentie nodig. Maar daar gaan we vooralsnog aan voorbij.
Misschien helpt het om vanaf dit onderdeel te redeneren vanuit het object. Bijv: je bent een
tuinman (object van het type Gardener). Wat kun je allemaal (kijk naar de methoden in de klasse
Gardener en de bovenliggende klasse Actor). Hoe kun je een objectreferentie krijgen naar
bijvoorbeeld de wereld?
De samenvatting (Wat heb je geleerd (6)) geeft hopelijk ook een helder overzicht. Het is ook goed om steeds de relatie te leggen tussen dat dat visuele aspect, met name op wat te zien is bij Inspect, en de code waarin de velden worden gedefinieerd.
Aan het eind wordt ook casting behandeld, dat is ook een lastig begrip. In opdracht 2 bij opdrachten kan daar mee worden geoefend.
Verder blijft het belangrijk steeds goed de API te raadplegen: bij welke klasse hoort een methode? En wat is het resultaat (return type) van de methode?
Opdracht 4 uit de opdrachten aan het eind van het hoofdstuk is belangrijk om te doen. Daarin moet je zelf een veld toevoegen en gebruiken.

Plaats reactie