
OO Programmeren Labo 5
Geheugenmanagement bij klassen
Afstandsonderwijs
Doelstelling
Aan de hand van oefeningen en opdrachten leer je:
- dat objecten gegevenstypes zijn, zijn net zoals string, int, enz; dit wil zeggen dat je een object als argument aan een methode kan meegeven;
- dat er een toch subiel verschil bestaat, namelijk dat objecten, die als argumenten aan methoden worden doorgegeven, by reference worden doorgegegeven en niet by value;
- wat
null
betekent.null
getekent niet nul of 0 maar eerder afwezigheid van waarde; - hoe je met zo'n null waarden moet omgaan door gebruik te maken van de
NullReferenceException
klasse in .NET;
Leerplan
- Bekijk de theorie opnieuw: H9: Geheugenmanagement bij klassen.
- We maken enkele oefeningen klassikaal
-
Oefening 1: klasse Pokemon (h9-pokeattack)
-
Opdracht
- Maak de oefening uit de filmpje:
- Oefening 1: klasse Pokemon (h9-pokeattack)
- Maak de volgende opdrachten in H9: Geheugenmanagement bij klassen zelf:
- Oefening 2 (h9-consciouspokemon): plaats die in de klasse met de naam
ConsciousPokemon
.
Aanpassing (26/03/2020): Het heeft geen zin om voor de static methodFirstConsciousPokemon
een nieuwe klasse te maken. Plaats die in dePokemon
klasse. De statische methodeTestConsciousPokemon
plaats je in deProgram
klasse van Program.cs. Als je de opdracht al hebt ingestuurd hoef je dat natuurlijk niet meer te veranderen. - Oefening 3 (h9-consciouspokemon-improved): plaats die in de klasse met de naam
ConsciousPokemonImproved
.
Aanpassing (26/03/2020): Het heeft geen zin om voor de statische methodeTestConsciousPokemon
een nieuwe klasse te maken. Plaats die in deProgram
klasse van Program.cs. Als je de opdracht al hebt ingestuurd hoef je dat natuurlijk niet meer te veranderen.
- Oefening 2 (h9-consciouspokemon): plaats die in de klasse met de naam
- Je repo op Bitbucket synchroniseren met je lokale computer. Alle opdrachten moeten op Bitbucket staan, de oefeningen uit de filmpjes en de zelfgemaakte oefeningen.
- Deadline: 27 maart 2020
- de opdrachten staan op Bitbucket; met de melding "Geheugenmanagement bij klassen";
- stuur via onderstaande link met de naam Opdracht Labo 5 Geheugenmanagement bij klassen doorsturen de bestanden Pokemon.cs, PokemonConscious.cs, PokemonConsciousImproved.cs en Program.cs door. Er is een aparte link voor Groep 3 en Groep 4.