Les 2: Classes, Instances, Constructors, Static

Python intro
Programming basics-II
Les 3 / Week 7a
Classes, Instances, Constructors, Static
CSD-V
Les 2
1 / 31
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 3

In deze les zitten 31 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 30 min

Onderdelen in deze les

Python intro
Programming basics-II
Les 3 / Week 7a
Classes, Instances, Constructors, Static
CSD-V
Les 2

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Onderwerpen
  • Classes
  • Instances
  • Reference- & Value types
  • Constructors
  • Oefenen (praktisch)
  • Static

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Eerst: Kennis ophalen

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Wat weet je over:
Classes / Klassen

Slide 4 - Woordweb

Deze slide heeft geen instructies

Classes
  • Een soort "eigen datatype" met properties en methods
  • Beschrijft één structuur in onze applicatie
  • De naam van een klasse is een zelfstandig naamwoord, bijv.: Product, Category, Person, Printer, Device, AppDbContext

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Classes kunnen werking 'overerven'

  • Neemt eigenschappen en methodes van andere klasse over
  • Laat ons verder bouwen op werk van anderen

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Wat weet je over:
Instances / Instanties

Slide 7 - Woordweb

Deze slide heeft geen instructies

De instantie van een klasse = Object

Slide 8 - Tekstslide

Deze slide heeft geen instructies



De instantie van een klasse (Object)


  • Is een reference type
  • Alle variabelen "wijzen" naar hetzelfde object
  • Alle objecten zijn reference types

Slide 9 - Tekstslide

Deze slide heeft geen instructies


Naast object zijn alle standaard datatypes 'value types'


  • int, float, bool, etc...
  • Er wordt een kopie van gemaakt bij iedere verwijzing

Slide 10 - Tekstslide

Deze slide heeft geen instructies

Slide 11 - Tekstslide

Deze slide heeft geen instructies

   Voorbeeld uitwerking: PersonDiceApp
Demonstreert:
  • Classes
  • Inheritance
  • Static
  • Methodes
  • Psuedo-willekeurige getallen genereren
📸

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Waarom steeds theorie herhalen?
  1. Deze termen herkennen en op basis niveau kunnen uitleggen
  2. Daarna hier in de praktijk zelf meer over leren

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Wat zijn goede beschrijvingen voor de term "klasse" in programmeren.
(2 antwoorden mogelijk)
A
Een instantie van een object
B
Een blauwdruk voor een object
C
Een plek in het geheugen waar een object leeft
D
Een soort eigen datatype

Slide 14 - Quizvraag

Deze slide heeft geen instructies

Wat is geen onderdeel van een klasse?
A
Property
B
Method
C
Program
D
Constructor

Slide 15 - Quizvraag

Deze slide heeft geen instructies

Beschrijf 'instantie' in je eigen woorden

Slide 16 - Open vraag

Deze slide heeft geen instructies

Wat is de waarde in person2.Name na deze code?
A
Jane
B
Joe
C
Janette
D
20

Slide 17 - Quizvraag

Deze slide heeft geen instructies

Wat is myAge na deze code?
A
19
B
20

Slide 18 - Quizvraag

Deze slide heeft geen instructies

myAge is na deze code nog steeds 19. Wat is de best passende
verklaring?
A
Omdat '++' alleen werkt op dezelfde variabele
B
Omdat het int datatype een 'value type' is
C
Omdat je geen '+= 1' gebruikt
D
Omdat het int datatype een 'reference type' is

Slide 19 - Quizvraag

Deze slide heeft geen instructies

Value types
Reference types
object
int
kopieert geheugen waarde
verwijst naar geheugenadres
string
bool
instantie
float
double

Slide 20 - Sleepvraag

Deze slide heeft geen instructies

Wat is hierna de waarde van person2.HighestAge?
A
20
B
19
C
Niets
D
person2.HighestAge geeft een error

Slide 21 - Quizvraag

Deze slide heeft geen instructies

Constructors

Slide 22 - Tekstslide

Deze slide heeft geen instructies

Wat weet je over
Constructors

Slide 23 - Woordweb

Deze slide heeft geen instructies

Waarom een constructor handig is
Situatie zonder constructor:
Oeps, vergeten de HealthPoints aan te geven

Slide 24 - Tekstslide

Deze slide heeft geen instructies

Waarom een constructor handig is
Situatie met constructor:
De constructor dwingt af dat we waardes meegeven
Op de juiste manier de constructor gebruiken om een Person te maken:

Slide 25 - Tekstslide

Deze slide heeft geen instructies

Meerdere constructors
Door meerdere constructors te maken, kun je objecten met verschillende standaard waarden laten instantiëren

Slide 26 - Tekstslide

Deze slide heeft geen instructies

Wat is waar over de 'constructor'?
(2 antwoorden mogelijk)
A
Maakt methodes beschikbaar
B
Kan eigenschappen instellen
C
Bouwt een instantie van een klasse op
D
is altijd static

Slide 27 - Quizvraag

Deze slide heeft geen instructies

Waaraan herken je een constructor-methode?
(2 antwoorden mogelijk)
A
Heeft geen return type
B
Heeft altijd parameters
C
Er staat 'constructor' voor
D
Heeft altijd dezelfde naam als de klasse

Slide 28 - Quizvraag

Deze slide heeft geen instructies

Beschrijf in je eigen woorden waarom je een constructor zou gebruiken.

Slide 29 - Open vraag

Hint: Waarom zou je jouw collega's niet zelf alle eigenschappen handmatig laten instellen.

Voorbeeld van een goed antwoord: wanneer we willen forceren dat het object op een bepaalde manier wordt aangemaakt
Er kunnen meerdere constructors zijn en zelfs meerdere methodes met dezelfde naam
A
Waar
B
Niet waar

Slide 30 - Quizvraag

Deze slide heeft geen instructies

Wat moet er verschillen tussen methodes met dezelfde naam?
(2 antwoorden mogelijk)
A
De naam
B
De return type
C
De constructor
D
De parameters

Slide 31 - Quizvraag

Deze slide heeft geen instructies