hoofdstuk 9-10: python objectoriëntatie (klassen) Flashcards
wat is het verschil met objectoriëntatie en wat we tot nu toe hebben gebruikt
tot nu toe hebben we een systeem bekeken als een aantal functies die door functieoproepen en het doorgeven van argumenten tot oplossingen bekomen, objectoriëntatie bekijkt een systeem als een aantal objecten die met elkaar samenwerken om tot oplossingen te komen
welke 4 eigenschappen moeten aanwezig zijn om over een objectgeoriënteerd systeem te kunnen spreken
abstractie
inkapseling
overerving
polymorfie
wat bedoelen ze met abstractie
dat we voor de objecten alleen de relevante informatie gaan verwerken
wat bedoelen ze met inkapseling
dat de informatie over een object verborgen zit en alleen kan geraadpleegd of gewijzigd kan worden m.b.v. methods
wat bedoelen ze met overerving
je kan daarmee een hiërarchie van klassen opbouwen (subklassen en superklassen)
wat bedoelen ze met polymorfie
dat er in de hiërarchie verschillende methods kunne zijn in de subklassen dus dat ze eerst kijken over welke subklasse het gaat en dan pas de juiste bijhorende methods toepassen
zijn de get en set methods met return of niet
de get methods hebben een return en de set methods niet
wat doet self.__x
het object x wordt dan verborgen gehouden (inkapseling) en met de get en set methods alleen toegankelijk
wat doet __init__
dat is de constructor voor een nieuw object
wat doet __str__
geeft terug als string
wat doet __repr__
geeft terug als string, nodig als bv. lay-out van een list/dict/…
wat doet __add__
dat is voor transformaties mee te kunnen doen (+ - / * enz)
wat doet __eq__
dat is voor gelijkheden mee te doen (==)
wat doet __lt__
dat is voor ongelijkheden mee te doen (< > of ≥ ≤ of !=)
hoe check je of iets van een (sub)klasse is + vb
isinstance(var. , klasse)
bij subklasse: issubclass(…, …)
vb. isinstance(25, int)
geeft true terug