Object¶
In het echte leven is een “object” een “ding”. Dat kan van alles zijn: tastbare dingen zoals een aardappel of een “zebrapad”, of “abstracte” dingen zoals “pijn” of “proces”. Als regel kan je zeggen dat iets een object is als je er een lidwoord voor kan zetten: “de aardappel”, “het zebrapad”, “de pijn”, “het proces”.
Met object georiënteerd programmeren is een object een “container” waarin eigenschappen en gedrag zijn vastgelegd. De beschrijving van de eigenschappen en het gedrag worden beschreven in een zogenaamde class. Een class is daarmee een blauwdruk van een object.
Eigenschappen¶
Objecten bestaan uit atrributen en methoden. De attributen zijn de eigenschappen van het object. De methoden zijn het gedrag van het object.
Objecten en classes¶
Er is een aantal manieren waarom je de relatie tussen objecten en classes kan beschrijven.
Vanuit de programmeur¶
Gekeken vanuit een programmeur is een class een blauwdruk van een object. Een object is een instantie van een class. Een class is een algemene beschrijving van een object, een object is een specifieke instantie van een class.
Het woord ‘Instantie’
De woorden “instance” en “stans” zijn aan elkaar gerelateerd. In de metaalbewerking is een “stans” een mal waarmee je een specifieke vorm uit een plaat metaal kan drukken. Daarmee is de “stans” een specifieke instantie van de mal. Denk aan het maken van koekjes met een koekjesvorm. De koekjesvorm is de mal, de koekjes zijn de instanties van de mal.
Dus waar je het hebt over “de aardappel” heb je het over een specifieke aardappel. Als je het hebt over “een Aardappel” heb je het over een algemene beschrijving van een aardappel. Het object aardappel
(de aardappel) is een specifieke instantie van de class Aardappel
(een aardappel).
Vanuit de computer¶
Gekeken vanuit de computer is een class een “datatype” dat je als programmeur zelf mag definiëren. Een datatype is een beschrijving van een stukje geheugen. Een object is een stukje geheugen dat voldoet aan de beschrijving van de class. Daarmee kan je het object eigenlijk zien als variabele.