Is Python een object georiënteerde programmeertaal?
Ja
Benoem 2 standaard klassen uit Python.
Wat is verplicht bij de initialisatie method __init__(…) bij het creëren van een klasse?
de parameter self
Wat is verplicht bij de method __str__(…) die nuttige info over de klasse teruggeeft?
De parameter self
Aan een klasse kan je eigen methodes toevoegen, wat is opmerkelijk aan die methodes?
Ze moeten altijd de parameter self hebben!
Hoe maak je een property van een klasse private?
Door ze te starten met twee underscores.
class Persoon:
def __init__(self, par_naam, par_voornaam):
self. __naam = par_naam
self. _voornaam = par_voornaam
Welke attributen gebruiken we voor het maken van properties?
Geef 2 synoniemen voor een klasse-attribuut.
In welk opzicht verschillen klasse-attributen van instantie-attributen?
Ze staan buiten de methodes van de klasse!
Op welke 2 manieren kan je een klasse-attrbuut opvragen?
Op hoeveel manieren kan je een klasse-attribuut wijzigen en hoe werkt die manier?
Welke methode wordt uitgevoerd wanneer een object wordt vernietigd?
def __del__(self):
Hoe controleer je in de setter van een property of de value die wordt doorgegeven een instantie is van een bepaalde klasse?
@eigenaar.setter
def eigenaar(self, value)
if(isinstance(value, Persoon):
…
Hoe controleer je of een object een bepaald attribuut heeft?
Hoe duid je aan dat een methode van een klasse statisch is?
@staticmethod
Hoe ziet de syntax eruit voor overerving?
class Auto(Voertuig)
Hoe roep je de __init__() methode van de parent op vanuit een sub class?
Door een base class abstract te maken kan je verhinderen dat er van die base class instanties kunnen worden gemaakt, hoe maak je ze abstract?
Kan een klasse in Python overerven van meerdere klassen?
Ja
Welke speciale methode kan je in een klasse gebruiken om te controleren op gelijkheid van 2 objecten?
def __eq__(self, other):
if self.param == other.param:
return True
else:
return False