Page 150 - Demo
P. 150

TI Python BootCamp Python KLASSEN & ATTRIBUTEN OOP
2. Klassen
User defined objecten kunnen gecodeerd worden met het keyword class. We illustreren de syntax van het coderen van klassen met het concept cirkel.
# Definitie nieuw object type
class Cirkel: ¨¨pass
# Declaratie object van de klasse Cirkel
c=Cirkel() print(type(x))
Het statement pass kan je gebruiken als een placeholder voor code. Wanneer pass wordt uitgevoerd, gebeurt er niets maar het geeft geen error. Lege code-blokken genereren namelijk een error.
Een Python-conventie geeft aan dat een klasse-naam start met een hoofdletter; net zoals we klein letters gebruiken voor variabelen.
3. Attributen
Een cirkel is analytisch volledig bepaald door zijn middelpunt en de straal. Het middelpunt en de straal gaan we coderen als de attributen(eigenschappen) van een object van de klasse Cirkel.
De syntax voor het creëren van een attribuut is b.v. self.rad = rad als onderdeel van de speciale methode __init__(). De methode __init__() initialiseert de attributen van een object en deze methode wordt steeds uitgevoerd bij het
aanmaken van een object.
De algemene syntax voor het coderen van de attributen van een klasse is de volgende:
class Cirkel:
¨¨def __init__(self,parameter1,parameter2): ¨¨¨¨self.parameter1 = parameter1 ¨¨¨¨self.parameter = parameter2
Het keyword self representeerd de instantie van de klasse en wordt gebruikt om naar zichzelf te wijzen. Het is niet noodzakelijk de naam self te gebruiken maar het is een afspraak tussen Python-programmeurs.
Deze syntax kan wat eigenaardig overkomen (b.v. 3x parameter1). Ook dit is een python-afspraak om telkens driemaal hetzelfde woord te gebruiken. Het is niet noodzakelijk en het zal geen error geven indien niet zo.
  Hieronder twee dezelfde klassen voor het object Cirkel: class Cirkel:
¨¨def __init__(self,xcoord,ycoord,rad): ¨¨¨¨self.xcoord = xcoord ¨¨¨¨self.ycoord = ycoord ¨¨¨¨self.rad = rad
class Cirkel:
¨¨def __init__(self,xc,yc,straal): ¨¨¨¨self.xcoord = xc ¨¨¨¨self.ycoord = yc
¨¨¨¨self.rad = straal
© 2020 T3 Nederland – T3 Vlaanderen
2 www.t3nederland.nl – www.t3vlaanderen.be










































































   148   149   150   151   152