![]() |
Object georienteerd programmeren (OOP)?
Goeiedag,
Ik zit in 6 VWO, en doe m'n profielwerkstuk over Java. Heb het al bijna af, moet alleen nog even een deelvraag beantwoorden. Die luidt: Wat is Object georienteerd programmeren (OOP)? Zelf ben ik ook aardig n00b met Java, en dus al helemaal met dit. Het schijnt al vrij lastig uit leggen zijn voor een leek. Heb al wel wat op i'net gevonden, waaronder het verhaal dat je het kan vergelijken met een tv. Je kan o.a. de opdracht geven om van kanaal te wisselen. Hoe dit verder in de tv werkt hoe je niet te weten, maar je maakt er wel gebruik van. Wie kan me helpen? Gr. Marco |
Ik heb zelf nog nooit gehoord van OOP, maar heb je hier wat aan? :)
http://www.cs.vu.nl/~aefeddy/oop.html |
Citaat:
Heb inmiddels op Helpmij.nl ook al ff wat gepost, en daar staat ook al een aardig verhaal. Zie http://www.helpmij.nl/forum/showthre...threadid=94788 Iemand daar nog wat aan toe te voegen?? |
Urm.. dit soort dingen zou ik eigenlijk moeten weten, maar ja. Ik kan je geen heldere definitie geven maar ik kan proberen te omschrijven wat ik denk dat het is. Je kunt hieraan geen rechten ontlenen.
OO programmeren is gebruikersvriendelijker dan 'normaal' programmeren. OO programmeren stelt de ontwikkelaar in staat om ingewikkelde programma's te bouwen met een ontwikkeltool met een relatief intuitieve interface en een 'what you see is what you get' principe. Vergelijk het oude MSDOS maar eens met Windows, bij Windows zie je direct wat je doet (of wat je doet ook écht is wat je doet laat ik even buiten beschouwing). Het is daarom best logisch dat de OO programeertools, (worden ook vaak aangeduid als 4GL (fourth generation language (denk ik)) steeds populairder worden. |
Citaat:
OOP is echter iets geheel anders. Bij Object-Oriented Programming schrijf je je programma's via classes. Deze classes (het ontwerp van een dergelijk programma gebeurt vaak in UML) vormen een abstract onderdeel van je programma. Hierbij kun je de code in de classes gebruiken zonder dat je verder precies weet wat deze code inhoudt. Object-Oriented Programming is ontstaan vanuit de gedachte dat de code die tot dan toe geproduceerd werd te weinig werd hergebruikt. Belangrijk bij OOP is dan ook dat je je code zo veel mogelijk in standaard-blokken verdeelt, die je vervolgens kunt hergebruiken in veel verschillende projecten (of die door andere developers in hun programma's gebruikt kunnen worden). Het is niet zo gemakkelijk uit te leggen, maar http://java.sun.com/docs/books/tutor...ts/object.html geeft wel een redelijk overzichtje. De pagina die hierboven werd vermeld vind ik zelf niet erg informatief... |
Ik weet niet of iemand het programma Lab-View kent? Het word in ieder geval veel gebruikt bij bedrijven om machines te programeren, maar het is ook simpelweg plaatjes slepen enzo..
Is dat dan ook OOP? |
Citaat:
|
Citaat:
|
bij OOP ga je inderdaad, zoals al gezegd en zoals in de naam staat, Object georienteerd (systematisch) te werk. Je code gaat dus niet van boven helemaal naar beneden maar veel stukjes code zullen terugwijzen op een class of ander soort code-deel.
|
een link ook nog : http://www.sum-it.nl/ooplinks.html
|
ai ai ai.. als je je profielwerkstuk over Java al afhebt, en je weet nog niet wat object georienteerd programmeren is dan kan je rekenen op een ZWARE onvoldoende
maargoed... ik geloof dat je al vrij veel info hebt gekregen hier... alleen wat ik nog niet heb gezien is het belangrijkste principe van object georienteerd programmeren: data hiding.. data hiding betekent dat je data die niet essentieel is voor een bepaalde eenheid programmatuur (bijvoorbeeld een library, een object, of een package) ook niet beschikbaar stelt voor andere eenheden... je de koppeling tussen twee gedeeltes zo minimaal mogelijk te houden zodat je minder afhankelijk bent van de implementatie van een ander deel (noem maar ergens de termen lage koppeling en hoge cohesie op in je verslag :p)... dit maakt het veel uitbreidbaarder object georienteerd programmeren is heel erg vanuit dit oogpunt bedacht, en een goed ontwerp laat objecten niet in elkaar's geheugen snuffelen; alle communicatie gebeurt via functies of properties in plaats van direct via variabelen (globale variabelen moet je al niet eens over beginnen in het bijzijn van pro-oo-luitjes ;)) wat ook belangrijk is, zijn de concepten klasse en object.. een klasse is een verzamelnaam voor objecten die hetzelfde zijn, bijvoorbeeld strijkijzer of voorbinddildo.. objecten zijn gewoon een representatie van een object in reallife; ze hebben verschillende eigenschappen, maar ze kunnen dezelfde dingen doen |
Citaat:
|
Citaat:
[off-topic] Bovendien is hij ook een leek wat beterft Java, en zal dus echt niet gaan klagen. Bovendien heeft hij een zwaar relaxt scoresysteem, per contactmoment krijg je al punten. Het ziet er ook strak en compleet uit, dus ik vind het gezegend. [/off-topic] Maar ik kan me er wel een aardig beeld van vormen, en mocht hij wat gaan vragen, dan sta ik niet met een mond vol tanden. Bovendien is heb ik er met de fiets van Helpmij.nl en het antwoord van Manuzhai (dat je de code moet hergebruiken) er een aardig verhaal van kunnen breien! Allemaal bedankt! |
|
Citaat:
ik kan geen vloeiend spaans leren spreken in 80 uur, maar ik zou er een stuk dichter bij in de buurt komen als ik eerst leerde wat zinnen, werkwoorden, en vervoegingen waren |
Citaat:
|
Citaat:
|
Citaat:
En jij binnenkort ook als alles goed gaat :) |
Citaat:
Maar ach, hij was al zeer tevreden over de versies tussendoor, dus schijt echt geen 7 kleuren als ik het terug krijg! :D Bovendien heb ik zoiezo al een 4,6 van de mogelijke 5,2. |
Even een iets makkelijkere methode om OOP te begrijpen.
Een object is een opzichzelfstaand stukje software dat is opgemaakt uit een blauwdruk. Het moet een realistisch object nabootsen (zoals in het echte leven), het heeft dus gedrag en waarden. Gedrag = functions (methods in Java) en waarden zijn gewoon variabelen. Bijvoorbeeld het object hond zou bijvoorbeeld waarden (eigenschappen) hebben: kleur: bruin haarsoort: rossig en gedrag: hond zoekt eten hond blaft Een praktisck voorbeeld van hoe dit in een spel zou gaan. STel je speelt Age of Empires, en je maakt wat mannetjes aan. In plaats van een grote array te maken waar elk poppetje instaat: {1,2,3} = {xcoord,ycoord,life} En dan met honderd poppetjes (een array met 3*honderd = 300 slots), je kunt je voorstellen dat dan onnodig verspilde ruimte of een 'onrealistische' nabootsing van de werkelijkheid is. Bij OOP zou je dat op te lossen door gewoon het object MAN te creeren van de blauwdruk 'man' elk object heeft dezelfde gedragspatronen maar de waardes zijn verschillend. Dus ze kunnen andere haarkleur en coordinaten hebben. Het zijn dus op zichzelfstaande stukjes software geworden. En je kunt zoveel poppetjes er van creeren als je wilt (y) . |
Woei!
Hij had er een 8,8 voor gegeven! Het zag er allemaal verzorgd uit, was informatief e.d. Hij had het ook aan z'n broer laten lezen (die al wel wat van Java af wist) en die vond 't ook goed. Weet iemand of dat cijfer toevallig ook op je examen staat? Vast niet, tis een goed cijfer... Mijn dank is groot aan jullie allen... :) |
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 03:50. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.