|
Toegangsspecificaties
Een geweldige mogelijkheid in OOP is die om bepaalde variabelen en methoden af te sluiten
van de buitenwereld. Deze variabelen/methoden kunnen alleen worden opgevraagd respectievelijk
aangeroepen door methoden van dezelfde klasse. Deze variabelen/methoden worden als
privé(Engels: private) gedeclareerd. Publieke(Engels: public) methoden/variabelen
zijn toegankelijk vanaf elke plaats.
klasse Persoon
begin
privé
string Naam;
publiek
constructor Persoon(string NieuweNaam)
begin
Naam = NieuweNaam;
eind;
eind;
// Declareer de variabele Jeroen.
Persoon Jeroen;
// Maak een nieuwe instantie van Persoon
// Geef de constructor de naam Jeroen mee
Jeroen = nieuw Persoon("Jeroen");
Jeroen.Naam = "Kees"; // DIT MAG NIET!!!
// Verwijder Jeroen.
verwijder Jeroen;
|
Hier zijn we de klasse Persoon, met een privé variabele Naam. De constructor mag
de naam van de persoon veranderen aangezien de constructor tot de klasse persoon behoort.
Maar van buitenaf is het verboden om de Naam van Jeroen te wijzigen. We kunnen wel een
methode schrijven die de naam van de Persoon verandert:
klasse Persoon
begin
privé
string Naam;
publiek
constructor Persoon(string NieuweNaam)
begin
Naam = NieuweNaam;
eind;
methode ZetNaam(string NieuweNaam)
begin
Naam = NieuweNaam;
eind;
eind;
// Declareer de variabele Jeroen.
Persoon Jeroen;
// Maak een nieuwe instantie van Persoon
// Geef de constructor de naam Jeroen mee
Jeroen = nieuw Persoon("Jeroen");
Jeroen.ZetNaam("Kees"); // Dit mag wel, ZetNaam is een methode
// van dezelfde klasse als Naam.
// Verwijder Jeroen.
verwijder Jeroen;
|
Hier hebben we een methode van Persoon geschreven die de naam verandert. Dit is volkomen
legaal aangezien ZetNaam een methode van dezelfde klasse als naam is. Hier is een zeer uitgebreid
voorbeeld dat ook het gebruik van Privé methoden toont:
klasse Persoon
begin
privé
string Naam;
methode VierVerjaardag
begin
// Er is er een jarig, hoera, hoera!
eind;
methode Sterf
begin
// Helaas is deze persoon vandaag heen gegaan.
eind;
publiek
getal Leeftijd;
constructor Persoon(string NieuweNaam)
begin
Naam = NieuweNaam;
Leeftijd = 0;
eind;
methode Jarig()
begin
// Tel één op bij de leeftijd van de persoon.
Leeftijd = Leeftijd + 1;
als Leeftijd = 75 dan
Sterf();
zo niet dan
VierVerjaardag();
eind;
eind;
// Declareer de variabele Jeroen en maak
// een instantie van Persoon aan.
Persoon Jeroen;
Jeroen = nieuw Persoon("Jeroen");
zolang Jeroen.Leeftijd < 75
begin
Jeroen.Jarig();
eind;
// Verwijder Jeroen.
verwijder Jeroen;
|
We hebben twee privé methoden, namelijk: Sterf() en VierVerjaardag(). De publieke methode Jarig()
wordt aangeroepen zolang de persoon jonger dan 75 is. Als de persoon 75 wordt zal de methode Sterf()
aangeroepen worden, anders VierVerjaardag(). De constructor zet de leeftijd van de persoon
automatisch op 0.
Vorige - Volgende
|