ALGORITME objectgeoriënteerd programmeren Gunter Schillebeeckx 1
objectgeoriënteerd programmeren Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 2
Inleiding Kern Samenvatting Vragen Oefeningen Evaluatie 3
Inleiding 4
Inleiding alles is afgeleid uit een superklasse tijger Bengaalse tijger object dier kat 5
Kern 6
Kern Object (Object): Is een ding dat gedefinieerd is door een klasse. 7
Kern Klasse (Class): Is de definitie van een ding. bv. een plan van een huis. A) Eigenschappen (properties) De toestand van een ding (states) B) Methodes (methods) De gedragingen van een ding (behaviours) JAVA class Leerling(); Een klasse is geen object! 8
Kern Instantie (Instance): Is een exemplaar uit een klasse. Is een instance van een class. Is een object van een klasse. In Java d.m.v. de new operator. JAVA alexandre = new Leerling(); Object bestaat totdat het vernietigd wordt (destroy) 9
Kern Eigenschap (Property): De toestand (states) van een ding (object). JAVA alexandre.hoofddeksel; alexandre.aantalvingers; 10
Kern Methode (Method): De gedragingen (behaviours) van een ding (object). Een functie die een object weet uit te voeren. JAVA ben.spring(); joachim.dans(); 11
Kern Inkapseling (Encapsulation): Het verbergen (public/private) van details (eigenschappen & methoden) van een object. Met een Getter (Get-method) vraag je naar een status. Met een Setter (Set-method) wijzig je de status. JAVA haarkleur = michael.gethaarkleur(); michael.sethaarkleur(rood); oventemperatuur = thermokoppel.getwaarde(); 12
Kern Polymorfisme (Polymorphism): Eén zelfde boodschap verzenden naar verschillende objecten resulteert in verschillende gedragingen. Een method schakelen betekent niet hetzelfde voor verschillende objecten. Eenzelfde naam van een methode kan een verschillende betekenis hebben. JAVA ben.spring(); joachim. spring(); 13
Overerving (Inheritance): Kern Een nieuwe klasse maken door gebruik te maken van een bestaande klasse(n). De nieuwe afgeleide klasse (subklasse) bevat automatische alle eigenschappen en methodes van de klasse waarvan ze is afgeleid. Een overgeërfde eigenschap of methode kan geherdefinieerd worden in de subklasse, met behoud van de naam. Dit is polymorfisme (zelfde naam, andere betekenis). In OO-wereld erft elk kind (child) alles van de ouder (parent). In de mensen-wereld erft elk kind en deel van elke ouder!!! 14
Overerving (Inheritance): Kern Voorbeeld: properties methods 15
Samenvatting 16
Samenvatting Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 17
Vragen 18
Vragen Wat is een Object? En geef een voorbeeld. Wat is een Klasse? En geef een voorbeeld. Wat is een Instantie? En geef een voorbeeld. Wat is een Eigenschap? En geef een voorbeeld. Wat is een Methode? En geef een voorbeeld. Wat is Inkapseling? En geef een voorbeeld. Wat is Polymorfisme? En geef een voorbeeld. Wat is Overerving? En geef een voorbeeld. 19
Vragen Wat is de Nederlandse benaming voor Class? Wat is de Nederlandse benaming voor Instance? Wat is de Nederlandse benaming voor Property? Wat is de Nederlandse benaming voor Method? Wat is de Nederlandse benaming voor Encapsulation? Wat is de Nederlandse benaming voor Polymorphism? Wat is de Nederlandse benaming voor Inheritance? 20
Vragen Geef een voorbeeld van een Class. Geef een voorbeeld van een Instance. Geef een voorbeeld van een Property. Geef een voorbeeld van een Method. Geef een voorbeeld van Encapsulation. Geef een voorbeeld van Polymorphism. Geef een voorbeeld van Inheritance. 21
Oefeningen 22
Oefeningen Definieer de klasse van deze objecten Is er sprake van een parent-class? 23
Oefeningen Definieer de klasse van dit object 24
Evaluatie 25
Evaluatie 26