OO Programmeren Labo 7
Geavanceerde klassen en objecten
Afstandsonderwijs
Doelstelling
Aan de hand van oefeningen en opdrachten leer je werken met:
- de constructor methode van een klasse:
- het
new
keyword om een instantie van een klasse te maken; - elke klasse heeft een 'onzichtbare' standaard constructor methode
- je kan je eigen constructor methode schrijven
- je kan meer dan 1 constructor methode maken voor een en dezelfde klasse door gebruik te maken van overload;
- je kan constructor methoden koppelen, in het Engels heet dat chaining;
- het
- de
String
klasse:- verbatim strings gebruiken;
- werken met methoden van de
String
klasse:- Split
- Join
- IndexOf
- ToUpper
- ToLower
- Replace
- werken met de
Length
eigenschap vanString
; - werken met csv bestanden;
- static
Het enige dat je hiervan moet onthouden is dat een static field (statisch veld) tot de klasse behoort en niet tot een object of een instantie van die klasse. Je kan dat lid van de klasse dus gebruiken zonder dan je eerst een object of een instantie van klasse moet maken. Je typt gewoon de naam van de klasse, een punt, en het veld, de eigenschap of methode.
Leerplan
We gaan de theorie aan de hand van voorbeelden verduidelijken.
- Je vind de voorbeeldoplossingen in mijn repo op Bitbucket.
- We maken de oefeningen in de namespace met de naam
OOP
. - Oefening h10-pokeconstructie:
- ik ga ervan uit de je de Pokemon klasse gemaakt hebt (je vindt die ook op mijn repo op Bitbucket.
- En we plaatsen de methode in de klasse met de naam
Pokemon
. - we leren wat de default constructor methode is;
- we maken een eigen constructor methode;
- Oefening h10-chaining
- We plaatsen de methode in de klasse met de naam
Pokemon
. - we leren wat een overload constructor methode is en hoe we constructors koppelen (chaining);
- We plaatsen de methode in de klasse met de naam
- Spelen met strings theorie:
- Spelen met strings theorie csv:
Opdracht Labo 7
- Maak de oefeningen uit de voorbeelden hierboven.
- Vervolledig h10-pokeconstructie: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
- Vervolledig h10-chaining: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
- Vervolledig h10-pokebattlecount: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
- Maak zelf de oefening Gemeenschappelijke kenmerken (h10-tombola). Plaats de
static
methode in een klasse met de naamTombola
in een bestand met de naam Tombola.cs. Roep die methode op in het hoofdemenu in deMain
methode van deProgram
klasse. - Optioneel, alleen voor gevorderden: de oefening CSV
Plaats die methode in de klasse met de naamSpelenMetStrings
in het bestand met de naam SpelenMetStrings.cs. Roep die methode op in hetSubMenuSpelenMetStrings
in deMain
methode van deProgram
klasse. - Deadline: 23 april 2020
- De deadlines zijn indicatief. Ze dienen om de lessen te structureren. Je kan dus altijd nog je opdrachten insturen. In deze moeilijke tijden is het belangrijk om uiteindelijk tegen het einde de opdrachten gemaakt te hebben. Blijven voortdoen is de boodschap!!
- Commit je werk lokaal met de melding Labo 7 Geavanceerde klassen en objecten final en synchroniseer met Bitbucket.
- Stuur via onderstaande link met de naam Opdracht Labo 7 Geavanceerde klassen en objecten doorsturen de bestanden Pokemon.cs, SpelenMetStrings en Program.cs door. Er is een aparte link voor Groep 3 en Groep 4.