
OO Programmeren Labo 4
DateTime: leren werken met objecten
Afstandsonderwijs
Doelstelling
- De .NET klasse DateTime is de ideale manier om te leren werken met objecten. Het is een nuttige en toegankelijk klasse.
- Voor elke onderwerp maken we in dit project een aparte klasse met de naam van het onderwerp in pascalnotatie. Het onderwerp van dit labo is
LerenWerkenMetDateTime
. - Voor elke oefening maken we een methode in de klasse
LerenWerkenMetDateTime
. - In de
Main
methode van deProgram
klasse voegen we voor elke methode van de klasseLerenWerkenMetDateTime
maken een keuze in het menu toe zodat we de oefening kunnen laten uitvoeren.
Opmerkingen
Het bericht dat de campus op 13 maart 2020 gesloten is was kortdag. Ik heb nog snel van enkele oefeningen een filmpje gemaakt. Op zaterdag 14 maart 2020 komt er nog een filmpje bij van de oefening H8 Studentenklasse.
Leerplan
- Bekijk de theorie opnieuw: DateTime: leren werken met objecten.
- We maken enkele oefeningen klassikaal
- Stand van zaken
In dit filmpje zie je hoe je mijn voorbeeldcode op je lokale computer kan downloaden met behulp van GIT.
Hier vind je mijn repo. - In dit filmpje maken we samen de oefening H8 Dag van de week
- In dit filmpje maken we samen de oefening H8 Schrikkeljaarteller
- Keuzemenu ordenen
We hebben al heel veel keuzes staan in het menu in deMain
methode van deProgram
klasse. Tijd om hier orde in te brengen. Hoe je dat doet zie je in dit filmpje:
- Stand van zaken
- Studentklasse
- Opmerkingen
-
Dit is de eerste oefening waarbij we geen static gebruiken. In het geval van een student heeft het weinig zin om static velden en methoden te maken omdat we meer exemplaren van de studentklasse gaan aanmaken.
-
In de opdracht staat je een
readonly
property met de naamOverallMark
moet toevoegen. Er wordt niet duidelijk gemaakt of dit readonly moet zijn voor gebruik ervan buiten de klasse of ook binnen de klasse. Als de eigenschap readonly moet zijn voor gebruik buiten de klasse volstaat een eigenschap met alleen een getter:public float OverallMark { get; }
Als de eigenschap ook intern, binnen de klasse,
readonly
moet zijn heb je een full property nodig waarbij het overeenstemmende veldreadonly
maakt:readonly float overallMark; public float OverallMark { get { return overallMark; } // verwijder de setter want dit is een readonly veld! // set { overallMark = value; } }
-
- De Studentklasse maken
- De Studentklass testen
- Opmerkingen
Opdracht
- Maak de oefeningen uit de filmpjes:
- H8 Dag van de week
- H8 Schrikkeljaarteller
- Keuzemenu ordenen
- Studentklasse maken
- Studentklasse testen
- Maak de volgende opdrachten in DateTime: leren werken met objecten zelf en plaats ze in een klasse met de naam
LerenWerkenMetDateTime
. Gebruik de naam van de opdracht als naam voor de methode:- Oefening: H8-ticks-sinds-2000
- Oefening: H8-simpele-timing
- 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: 20 maart 2020
- de opdrachten staan op Bitbucket;
- stuur via onderstaande link met de naam Opdtracht Labo 4 DateTime doorsturen de bestanden LerenWerkenMetDateTime.cs en Program.cs door. Er is een aparte link voor Groep 3 en Groep 4.