Portus Ostiae
Artikelen: 0
Berichten: 108
Lid geworden op: ma 03 mei 2010, 19:00

waarom en hoe OOP

Sinds ik enkele maanden geleden voor het eerst kennis heb gemaakt met het begrip OOP (Object Oriented Programming) terwijl ik PHP aan het leren was op het net, heb ik het nooit echt begrepen. Er werd me zo veel om de oren geslagen over hoe goed OOP wel niet is etc., maar alleen in algemene taal: het zou grote programma's makkelijker te beheren en debuggen maken en sneller doen draaien. Maar tussen al die informatie heb ik nooit een echt goede uitleg gevonden over wat nu eigenlijk de concrete werking van OOP is. Handig was het geweest als ik ergens maar een goed voorbeeld had gevonden. Twee lappen code met het zelfde resultaat, nu eens in Procedural en dan eens in OOP.

De grote vraag die ik mij steeds stelde is: "Op welke vraag is 'OOP' het antwoord?"

Nu denk ik dat ik het begin te begrijpen. Is het antwoord op deze vraag: "'OOP' is het antwoord op de vraag naar een manier om verschillende procedures (delen van een programma), na omgevormd te zijn in functies (methoden), te sorteren en verpakken bij gelijkaardige functies."?
Gebruikersavatar
Math-E-Mad-X
Artikelen: 0
Berichten: 2.907
Lid geworden op: wo 13 sep 2006, 17:31

Re: waarom en hoe OOP

OOP is een manier om al je variabelen en functies ordelijk bij elkaar te zetten.

Bijvoorbeeld: je hebt een programma waarin je data van personen bij houdt. Stel je wil alle gegevens van één persoon, zoals leeftijd, gewicht, salaris, naam etc. doorgeven aan één functie:

behandelPersoon(int leeftijd, int gewicht, int salaris, String naam)

Zonder OOP zou dat een enorm ingewikkelde functie declaratie worden en bovendien moeilijk te onderhouden, omdat je later misschien meer eigenschappen aan iedere persoon wil toekennen.

Met OOP kun je gewoon een functie definieren die als parameter een variabele mee krijgt van het type 'Persoon':

behandelPersoon( Persoon x)

Dit is een stuk leesbaarder en een stuk makkelijker te onderhouden. Maar ik denk dat OOP typisch zoiets is wat je pas echt gaat waarderen wanneer je er ervaring mee hebt. Ik zelf zou echt niet meer zonder OOP willen programmeren en ik denk dat dat voor het overgrote deel van de programmeurs hetzelfde is.
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }
EvilBro
Artikelen: 0
Berichten: 7.081
Lid geworden op: vr 30 dec 2005, 09:45

Re: waarom en hoe OOP

Heb je al op wikipedia gekeken (ook op de engelse pagina, die is uitgebreider).

Verder is wat Math-E-Mad-X zegt slechts ten dele waar. Zijn voorbeeld is ook prima te doen in C met een struct. Dit is niet specifiek een eigenschap van OOP.

Verder wil ik ook nog even stellen dat OOP niet heilig is. Het is ongetwijfeld handig in sommige situaties, maar er zijn ook situaties waarbij het onzin is. Als jij alleen "Hello world!" op het scherm wil printen dan is OOP een beetje overkill.

Terug naar “Informatica en programmeren”