Innholdsfortegnelse:
Definisjon - Hva betyr Mutator?
En mutator, i sammenheng med C #, er en metode, med et offentlig tilgjengelighetsnivå, som brukes til å endre og kontrollere verdien av en privat medlemsvariabel i en klasse. Mutatoren brukes til å tilordne en ny verdi til det private feltet av en type. Det danner et verktøy for å implementere innkapsling ved bare å kontrollere tilgangen til de interne feltverdiene som må modifiseres.
Fordelene ved å bruke en mutator inkluderer:
- Hindrer brukeren i å få direkte tilgang til private data fra en objektforekomst og tillater bare tilgang gjennom offentlige metoder for å forhindre datakorrupsjon.
- Gir fleksibilitet i å endre den interne representasjonen av feltene til et objekt som representerer den interne tilstanden uten å bryte grensesnittet som brukes av objektets klienter.
- Evne til å inkludere tilleggsbehandlingslogikk som validering av et verdisett, utløsing av hendelser osv., Under endring av feltet i mutatoren.
- Tilbyr synkronisering som er nødvendig for multitrase-scenarier.
- Inkluderer en bestemmelse for å overstyre mutatoren som er erklært i en baseklasse med koden i den avledede klassen.
Techopedia forklarer Mutator
En mutator er vanligvis utstyrt med en accessor som returnerer verdien til medlemsvariabelen. For datamedlemmer som er uforanderlige, bør mutatoren ikke oppgis.
StudentData kan for eksempel være en klasse som lagrer studentens detaljer, for eksempel navn, adresse, karakter osv. Det kan være en offentlig metode, SetGrade i klassen. StudentData er mutatoren som oppdaterer StudentData-objektet fra koden som bruker objektet.
Mens en mutator implementeres i C ++ ved en eksplisitt offentlig metode for å modifisere et privat felt, introduserer C # "egenskaper" som en ny funksjon som implementerer en mutator for å endre feltverdier så vel som en accessor for å hente feltet. Hver egenskap er representert i den vanlige mellomspråklige koden med et par metoder forhåndsinnstilt med "get _" (accessor) og "set _" (mutator) under panseret. De kalles internt av vanlige språk runtime (CLR). Dette forenkler koden og gir noen ganger mulighet for utførelse av matematiske operasjoner.
Mutatoren blir ikke ofte brukt i objekter, der objektets oppførsel blir vurdert snarere enn hvordan den presterer.