Dodatki in mutatorji v C ++

Eden od najbolj kritičnih vidikov objektno usmerjenega programiranja je enkapsulacija, ki omogoča definiranje oznak za podatkovne člane in članske funkcije, da se določi, ali so dostopne iz drugih razredov ali ne. Zaradi tega člani podatkov drugih razredov ne morejo neposredno upravljati članov podatkov, ki so označeni kot zasebni . Da bi lahko manipulirali s temi člani podatkov, mora ustvarjalec razreda zagotoviti posebne funkcije članov, ki so označene kot javne .

Funkcije dostopov in mutatorjev

Dostopniki so funkcije članice, ki omogočajo dostop do podatkovnih članov. Članske funkcije, ki omogočajo spreminjanje podatkovnih članov, se imenujejo mutatorji .

Kaj je Accessor?

Dostopnik je funkcija člana, ki omogoča, da nekdo pridobi vsebino zaščitenega člana podatkov. Da bi dostopnik lahko opravljal svojo funkcijo, morajo biti izpolnjeni naslednji pogoji:

1) Dostopnik mora imeti isti tip kot vrnjena spremenljivka.

2) Dostopniku ni treba imeti argumentov.

3) Obstajati mora konvencija o poimenovanju in ime dostopne osebe se mora začeti s predpono »Get«.

Skladnja dostopa, ki je zmanjšana na najpreprostejši izraz, izgleda takole:

 razred MaClasse {

zasebno:

TypeDeMaVariable MaVariable;

javno:

TypeDeMaVariable GetMaVariable ();

};

TypeDeMaVariable MaClasse :: GetMaVariable () {

vrne MaVariable;

}

V zgornjem primeru je lahko dostopnik člana podatkov naslednji:

 razred Toto {

zasebno:

int starost;

javno:

int GetAge ();

};

int Toto :: GetAge () {

starost za vrnitev;

}

Kaj je Mutator?

Mutator je članska funkcija, ki omogoča urejanje vsebine zaščitenega člana podatkov. Da bi mutator izpolnil svojo funkcijo, morajo biti prisotni naslednji pogoji:

1) Kot parameter mora imeti vrednost, ki se dodeli članu podatkov. Parameter mora biti iste vrste kot član podatkov.

2) mutatorju ni treba vrniti vrednosti.

3) Obstajati mora konvencija o poimenovanju, pri čemer se ime dostopne osebe začne s predpono "Set".

Skladnja mutatorja, zmanjšana na najpreprostejši izraz, izgleda takole:

 razred MaClasse {

zasebno:

TypeDeMaVariable MaVariable;

javno:

void SetMaVariable (TypeDeMaVariable);

};

MaClasse :: SetMaVariable (TypeDeMaVariable MaValeur)

MaVariable = MaValeur;

}

V zgornjem primeru je lahko mutator člana podatkov naslednji:

 razred Toto {

zasebno:

int_age;

javno:

void SetAge (int);

};

void Toto :: SetAge (int starost) {

_age = starost;

}

Izvirni dokument je objavljen na CommentcaMarche.net.

Prejšnji Članek Naslednji Članek

Top Nasveti