Objectgeoriënteerd programmeren (OOP) is een programmeerparadigma dat structureert rond "objecten" - entiteiten die data en functionaliteiten combineren om softwareoplossingen te bouwen. Deze objecten zijn georganiseerd binnen klassen, die als blauwdrukken dienen voor het creëren van meerdere exemplaren met soortgelijke eigenschappen en gedrag. De objecten van OOP op een rij:
Klassen
Een klasse is een sjabloon of blauwdruk die de mogelijke staten (attributen) en gedragingen (methoden) van objecten in een programma definieert. Je kunt klassen beschouwen als een fundament waarop je programma is gebouwd, waarbij elke klasse een specifieke rol of verantwoordelijkheid heeft binnen de applicatie. Bijvoorbeeld, in een programma dat een online boekhandel beheert, kun je klassen hebben zoals Boek
, Bestelling
, en Gebruiker
, elk met hun eigen unieke eigenschappen en functies.
Objecten
Dit zijn de instanties van een klasse. Wanneer een klasse is gedefinieerd, worden geen data opgeslagen, maar wanneer objecten worden gecreëerd, worden deze aangemaakt volgens de specificaties van de klasse. Elk object heeft een eigen identiteit en een levenscyclus binnen de software. Objecten in onze boekhandel applicatie kunnen specifieke boeken zijn, elke bestelling die wordt geplaatst, en elke gebruiker die de site bezoekt.
Methoden
Methoden zijn functies of procedures gedefinieerd binnen een klasse die beschrijven hoe objecten van die klasse zich zullen gedragen. Dit kunnen acties zijn die een object kan uitvoeren, of bewerkingen die op de interne data van het object kunnen worden uitgevoerd. In onze boekhandel zou een Boek
object bijvoorbeeld een methode kunnen hebben zoals voegToeAanWinkelwagentje()
, terwijl een Gebruiker
object methoden kan hebben zoals registreer()
of logIn()
.
Attributen
Dit zijn de data opgeslagen in objecten. Elk object heeft attributen die in de klasse zijn gedefinieerd. Deze attributen houden de staat van een object bij. In de context van de boekhandel, kan een Boek
object attributen hebben zoals titel
, auteur
, en prijs
, die specifieke informatie over het boek bewaren.