OO Programmeren Labo 7
Home

OO Programmeren Labo 7

afbeelding gevanceerde OO in C#

OO Programmeren Labo 7

Geavanceerde klassen en objecten

Afstandsonderwijs

Doelstelling

Aan de hand van oefeningen en opdrachten leer je werken met:

  1. de constructor methode van een klasse:
    1. het new keyword om een instantie van een klasse te maken;
    2. elke klasse heeft een 'onzichtbare' standaard constructor methode
    3. je kan je eigen constructor methode schrijven
    4. je kan meer dan 1 constructor methode maken voor een en dezelfde klasse door gebruik te maken van overload;
    5. je kan constructor methoden koppelen, in het Engels heet dat chaining;
  2. de String klasse:
    1. verbatim strings gebruiken;
    2. werken met methoden van de String klasse:
      1. Split
      2. Join
      3. IndexOf
      4. ToUpper
      5. ToLower
      6. Replace
    3. werken met de Length eigenschap van String;
    4. werken met csv bestanden;
  3. 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.

  1. Je vind de voorbeeldoplossingen in mijn repo op Bitbucket.
  2. We maken de oefeningen in de namespace met de naam OOP.
  3. Oefening h10-pokeconstructie:
    1. ik ga ervan uit de je de Pokemon klasse gemaakt hebt (je vindt die ook op mijn repo op Bitbucket.
    2. En we plaatsen de methode in de klasse met de naam Pokemon.
    3. we leren wat de default constructor methode is;
    4. we maken een eigen constructor methode;
  4. Oefening h10-chaining
    1. We plaatsen de methode in de klasse met de naam Pokemon.
    2. we leren wat een overload constructor methode is en hoe we constructors koppelen (chaining);
  5. Spelen met strings theorie:
  6. Spelen met strings theorie csv:

Opdracht Labo 7

  1. Maak de oefeningen uit de voorbeelden hierboven.
  2. Vervolledig h10-pokeconstructie: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
  3. Vervolledig h10-chaining: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
  4. Vervolledig h10-pokebattlecount: maak instanties van de Pokemon klasse aan voor alle Pokemon types.
  5. Maak zelf de oefening Gemeenschappelijke kenmerken (h10-tombola). Plaats de static methode in een klasse met de naam Tombola in een bestand met de naam Tombola.cs. Roep die methode op in het hoofdemenu in de Main methode van de Program klasse.
  6. Optioneel, alleen voor gevorderden: de oefening CSV
    Plaats die methode in de klasse met de naam SpelenMetStrings in het bestand met de naam SpelenMetStrings.cs. Roep die methode op in het SubMenuSpelenMetStrings in de Main methode van de Program klasse.
  7. Deadline: 23 april 2020
    1. 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!!
    2. Commit je werk lokaal met de melding Labo 7 Geavanceerde klassen en objecten final en synchroniseer met Bitbucket.
    3. 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.