Een introductie tot Object Georiënteerd Programmeren |
Een klasse Voordat u een object kunt maken, moet u als eerste een klasse(Engels: class) maken. Als een huis een object was dan zouden de tekeningen van de architect de klasse zijn. Zo ziet de meest eenvoudige klasse eruit in onze psuedo-code.
Dit is de klasse MijnEersteKlasse. In die klasse kunnen we functies en procedures zetten. Zodra functies en/of procedures tot een klasse behoren noemen we ze methoden(Engels: methods). Waar de inhoud van de methoden geplaatst moet worden hangt van de taal af, in C++ en Object Pascal bijvoorbeeld moet deze buiten de klasse staan, in Java en C# moeten deze juist in de klasse gezet worden. In onze psuedo-code plaatsen wij de inhoud in de klasse. Een klasse in C++:
Een klasse in C#:
Een klasse in onze psuedo-code:
Getal stelt hier een variabele voor, die gehele getallen kan bevatten. De methode TelOp(); geeft uitkomst de waarde 3, immers 1 + 2 is 3. Wat publiek is leg ik u in het hoofdstuk "toegangsspecificaties" uit. Voordat u de methode TelOp() kan aanroepen moet u een object van die klasse hebben. Als een architect de tekeningen af heeft, kunt u immers ook niet direct in het huis gaan wonen maar moet het eerst gebouwd worden. In OOP termen moet u eerst een instantie van de klasse hebben. We breiden de code nu uit zodat een instantie van de klasse wordt gemaakt:
Nadat de klasse gemaakt is kunnen we de naam hiervan gebruiken als normale variabele. In onze psuedo-code wordt er niet meteen een instantie van de klasse aangemaakt, sommige talen doen dit wel. In de regel na de declaratie van MijnObject maken we een instantie van MijnEersteKlasse aan. Nu pas kunnen we de methode TelOp aanroepen. Om een methode aan te roepen of een variabele van een object op te vragen gebruiken we de punt-operator(.). Als we een object niet meer nodig hebben moeten we deze verwijderen. Dit gebeurt in de laatste regel van de psuedo-code.
Er bestaat ook zoiets als statische methoden, statische methoden zijn methoden die kunnen aangeroepen worden zonder dat er een instantie van die klasse bestaat. Dit kan handig zijn als u een hoop functies heeft, die u wilt onderbrengen in een apart gedeelte van het programma, maar dat u ze wel kan aanroepen zonder een object te hebben.
Hoe een statische methoden wordt aangeroepen hangt van de taal af. C++ heeft een aparte operator: :: om statische methoden aan te roepen. Vorige - Volgende |