ALGORITME
objectgeoriënteerd programmeren Gunter Schillebeeckx
2009-04-20 Wednesday 24 October 12
1
objectgeoriënteerd programmeren • Object • Klasse • Instantie • Eigenschap • Methode
• Inkapseling • Polymorfisme • Overerving
2009-04-20 Wednesday 24 October 12
2
OOP-Begrippen • Inleiding • Kern • Samenvatting • Vragen • Oefeningen • Evaluatie 2009-04-20 Wednesday 24 October 12
3
Inleiding
OOP-Begrippen Wednesday 24 October 12
2009-04-20 4
Inleiding alles is afgeleid uit een superklasse
object
dier kat tijger Bengaalse tijger
OOP-Begrippen Wednesday 24 October 12
2009-04-20 5
Kern
OOP-Begrippen Wednesday 24 October 12
2009-04-20 6
Kern Object (Object): Is een “ding” dat gedefinieerd is door een klasse.
OOP-Begrippen Wednesday 24 October 12
2009-04-20 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! OOP-Begrippen Wednesday 24 October 12
2009-04-20 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)
OOP-Begrippen Wednesday 24 October 12
2009-04-20 9
Kern Eigenschap (Property): De toestand (states) van een “ding”(object).
JAVA alexandre.hoofddeksel; alexandre.aantalVingers; OOP-Begrippen Wednesday 24 October 12
2009-04-20 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(); OOP-Begrippen Wednesday 24 October 12
2009-04-20 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(); OOP-Begrippen Wednesday 24 October 12
2009-04-20 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();
OOP-Begrippen Wednesday 24 October 12
2009-04-20 13
Kern Overerving (Inheritance): 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!!! OOP-Begrippen Wednesday 24 October 12
2009-04-20 14
Kern Overerving (Inheritance): Voorbeeld:
OOP-Begrippen Wednesday 24 October 12
properties methods
2009-04-20 15
Samenvatting
OOP-Begrippen Wednesday 24 October 12
2009-04-20 16
Samenvatting
•Object •Klasse •Instantie •Eigenschap •Methode •Inkapseling •Polymorfisme •Overerving
OOP-Begrippen Wednesday 24 October 12
2009-04-20 17
Vragen
OOP-Begrippen Wednesday 24 October 12
2009-04-20 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.
OOP-Begrippen Wednesday 24 October 12
2009-04-20 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?
OOP-Begrippen Wednesday 24 October 12
2009-04-20 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.
OOP-Begrippen Wednesday 24 October 12
2009-04-20 21
Oefeningen
OOP-Begrippen Wednesday 24 October 12
2009-04-20 22
Oefeningen Definieer de klasse van deze objecten Is er sprake van een parent-class?
OOP-Begrippen Wednesday 24 October 12
2009-04-20 23
Oefeningen Definieer de klasse van dit object
OOP-Begrippen Wednesday 24 October 12
2009-04-20 24
Evaluatie
OOP-Begrippen Wednesday 24 October 12
2009-04-20 25
Evaluatie
OOP-Begrippen Wednesday 24 October 12
2009-04-20 26