Objectgeoriënteerd Programmeren 1 Tot nu toe • “Ouderwetse” manier van programmeren – Imperatief programmeren (in Java) – Programmeren in volgorde – Goed om basis te leren – Bij grote programma’s: Onoverzichtelijke code 2 Nu • Nieuw paradigma: – Object georiënteerd programmeren – Programmeren in onafhankelijke blokken – Programmeertaal: Greenfoot (dit is stiekem gewoon Java!) 3 Waarom OO programmeren? • Grotere programma’s -> meer structuur – Meerdere programmeurs tegelijk – Hergebruik van code (bibliotheken) – Denken in Objecten is eigenlijk heel natuurlijk -> De echte wereld zit er vol mee • Werken met objecten biedt die benodigde structuur: – Objecten: Modulaire opbouw (bouwblokken) 4 OO = Koekjes bakken! • Maak 1 mal • Maak zoveel koekjes als je wilt met de mal • YUM! 5 Objecten • Een Object: – Bezit eigenschappen (variabelen) – Kan bewerkingen ondergaan (methodes) 6 Klassen --> Objecten • Een Klasse is een definitie (de mal) – Beschrijft eigenschappen – Beschrijft bewerkingen • Een Object is een instantie van een klasse (de koekjes!): – Van 1 klasse meerdere instanties 7 Voorbeeld Klasse: stoel • Eigenschappen (instance variabelen): – Aantal poten – Positie-x – Positie-y • Bewerkingen (methoden): – Verplaatsen 8 public class Stoel { // Instance variabelen int aantalPoten; int x; int y; VB: Java klasse Stoel //constructor (speciale methode om het object te “maken”) public Stoel(int poten, int xPositie, int yPositie) { aantalPoten = poten; x = xPositie; y = yPositie; } //methode public verplaats(int xPositie, int yPositie) { x = xPositie; y = yPositie; } } 9 Objecten maken van een Klasse • Nu er een klassedefinitie is, kunnen er objecten van worden gemaakt • Dit is vergelijkbaar met variabelen: • int mijnInt = 86; • Stoel mijnStoel = new Stoel(4, 100, 150); • Stoel nogEenStoel = new Stoel(3, 50, 50); 10 Objecten gebruiken • Bij het aanmaken van een object wordt de constructor methode uitgevoerd • Van een object kunnen vervolgens de methoden worden aangeroepen: • mijnStoel.verplaats(20, 40); • nogEenStoel.verplaats(86, 34); 11 Lessen: Greenfoot • Greenfoot is een grafische uitbreiding van Java • Maakt objecten “tastbaar” • Onder de motorkap zit gewone Javacode • Hier ga je stapsgewijs mee aan de slag • Theorietoets in toetsweek • PO greenfoot 12