Obsah:
Definícia - Čo znamená Mutator?
Mutátor v kontexte C # je metóda s verejnou úrovňou prístupnosti, ktorá sa používa na úpravu a riadenie hodnoty súkromnej členskej premennej triedy. Mutátor sa používa na priradenie novej hodnoty k súkromnému poľu typu. Predstavuje nástroj na implementáciu zapuzdrenia iba riadením prístupu k interným hodnotám poľa, ktoré sa musia modifikovať.
Výhody použitia mutátora zahŕňajú:
- Zabraňuje užívateľovi priamo pristupovať k súkromným údajom inštancie objektu a umožňuje prístup iba verejnými metódami, aby sa zabránilo poškodeniu údajov.
- Poskytuje flexibilitu pri úprave vnútornej reprezentácie polí objektu, ktorý predstavuje vnútorný stav, bez narušenia rozhrania, ktoré používajú klienti objektu.
- Schopnosť zahrnúť dodatočnú logiku spracovania, ako je validácia množiny hodnôt, spustenie udalostí atď., Počas úpravy poľa v mutátore.
- Poskytuje synchronizáciu, ktorá je potrebná pre scenáre s viacerými vláknami.
- Zahŕňa ustanovenie na prepísanie mutátora deklarovaného v základnej triede kódom v odvodenej triede.
Techopedia vysvetľuje mutátor
Mutátor je zvyčajne vybavený prístupovým zariadením, ktoré vracia hodnotu členskej premennej. V prípade nemenovaných členov údajov by sa mutátor nemal poskytovať.
Napríklad StudentData môže byť trieda, do ktorej sa ukladajú podrobnosti o študentovi, ako je meno, adresa, známka atď. V triede môže byť verejná metóda, SetGrade. StudentData je mutátor na aktualizáciu objektu StudentData z kódu, ktorý ho používa.
Zatiaľ čo mutátor je implementovaný v C ++ explicitnou verejnou metódou na modifikáciu súkromného poľa, C # zavádza „vlastnosti“ ako novú funkciu, ktorá implementuje mutátora na úpravu hodnôt poľa, ako aj prístupového agenta na vyzdvihnutie poľa. Každá vlastnosť je reprezentovaná v spoločnom kóde medziľahlého jazyka s párom metód predponovaných znakmi „get _“ (accessor) a „set _“ (mutator) pod kapotou. Interne sa volajú podľa spoločného jazykového modulu runtime (CLR). To zjednodušuje kód a niekedy umožňuje vykonávanie matematických operácií.
Mutátor sa často nepoužíva v objektoch, kde sa skôr uvažuje o správaní objektu, ako o tom, ako funguje.




