Accessors en mutators in C ++
Accessor- en mutatorfuncties
Accessors zijn ledenfuncties die toegang tot gegevensleden toestaan. Ledenfuncties die de wijziging van de gegevensleden mogelijk maken, worden mutators genoemd .Wat is een accessor?
Een accessor is een ledenfunctie waarmee iemand de inhoud van een beschermd gegevenslid kan ophalen. Voor een accessor om zijn functie uit te voeren, moet aan de volgende voorwaarden zijn voldaan:1) De accessor moet van hetzelfde type zijn als de geretourneerde variabele.
2) De accessor hoeft geen argumenten te hebben.
3) Er moet een naamgevingsconventie bestaan en de naam van de accessor moet beginnen met het voorvoegsel "Get".
De syntaxis van een accessor teruggebracht tot de eenvoudigste expressie ziet er als volgt uit:
class MaClasse {privaat :
TypeDeMaVariable MaVariable;
openbaar :
TypeDeMaVariable GetMaVariable ();
};
TypeDeMaVariable MaClasse :: GetMaVariable () {
terugkeer MaVariable;
}
In het bovenstaande voorbeeld kan de accessor van het gegevenslid het volgende zijn:
class Toto {privaat :
int leeftijd;
openbaar :
int GetAge ();
};
int Toto :: GetAge () {
terugkeer leeftijd;
}
Wat is een mutator?
Een mutator is een ledfunctie die het bewerken van de inhoud van een beschermd gegevenslid mogelijk maakt. Om een mutator zijn functie te laten vervullen, moeten de volgende voorwaarden aanwezig zijn:1) Als parameter moet deze de waarde hebben die moet worden toegewezen aan het gegevenslid. De parameter moet van hetzelfde type zijn als het gegevenslid.
2) De mutator hoeft geen waarde terug te geven.
3) Er moet een naamgevingsconventie bestaan, waarbij de naam van de accessor begint met het voorvoegsel "Set".
De syntaxis van een mutator teruggebracht tot de eenvoudigste expressie ziet er als volgt uit:
class MaClasse {privaat :
TypeDeMaVariable MaVariable;
openbaar :
void SetMaVariable (TypeDeMaVariable);
};
MaClasse :: SetMaVariable (TypeDeMaVariable MaValeur) {
MaVariable = MaValeur;
}
In het bovenstaande voorbeeld zou de mutator van het gegevenslid het volgende kunnen zijn:
class Toto {privaat :
int _age;
openbaar :
void SetAge (int);
};
void Toto :: SetAge (int age) {
_age = leeftijd;
}
Origineel document gepubliceerd op CommentcaMarche.net.