Innholdsfortegnelse:
Definisjon - Hva betyr Access Modifiers?
Tilgangsmodifiserere er nøkkelord som brukes til å spesifisere tilgjengeligheten til en klasse (eller type) og dens medlemmer. Disse modifikatorene kan brukes fra kode i eller utenfor gjeldende applikasjon.
Tilgangsmodifiserere i .NET brukes til å kontrollere tilgjengeligheten til hvert av medlemmene av en type fra forskjellige mulige koder. Dette kan håndteres fra nåværende montering eller utenfor den. En enhet representerer en logisk funksjonsenhet og består av typer og ressurser som er plassert i en eller flere filer.
Hensikten med å bruke tilgangsmodifiserere er å implementere innkapsling, som skiller grensesnittet til en type fra implementeringen. Med dette kan følgende fordeler oppnås:
- Forhindring av tilgang til interne data satt av brukere til ugyldig tilstand.
- Avsetning for endringer i intern implementering av typene uten å påvirke komponentene som bruker dem.
- Reduksjon av kompleksiteten i systemet ved å redusere gjensidig avhengighet mellom programvarekomponenter.
Techopedia forklarer Access Modifiers
.NET-rammeverket gir deg muligheten til å ha fem typer tilgangsmodifiserere:
- Privatkode innenfor typen kan bare få tilgang til medlemmene av den typen, og tilgjengeligheten er derfor begrenset til gjeldende type
- Offentlig kode fra hvor som helst i den nåværende forsamlingen, eller en annen samling som refererer til den, kan få tilgang til medlemmene av typen, og gir dermed tilgjengelighet hvor som helst
- Beskyttet - kode i typen, eller dens avledede klasser, kan få tilgang til medlemmene av typen og dermed er tilgjengeligheten begrenset til gjeldende type og avledede klasser
- Intern - kode i den nåværende forsamlingen, men ikke fra en annen samling, kan få tilgang til medlemmene av typen, og dermed er tilgjengeligheten begrenset til nåværende montering
- Protected Internal - kode i den nåværende forsamlingen kan få tilgang til medlemmene av typen og også fra den enheten som refererer til den. Derfor er tilgjengeligheten fra avledede klasser i den nåværende forsamlingen, og må skje gjennom en forekomst av avledet klassetype i enheten som refererer til den
Det er flere regler som gjelder for tilgangsmodifiserere:
- Når det ikke er angitt noen tilgangsmodifiserer for å skrive medlemmer, er standard tilgangsnivå privat og internt.
- Det er ingen tilgangsmodifiserere tillatt for navneområder, siden de er offentlige.
- De nestede klassene og strukt-medlemmene som er oppgitt i en type, er som den inneholder klassen, private som standard.
- Strukturmedlemmer kan ikke erklæres beskyttet siden det ikke støtter arv.
- Destruktører kan ikke ha tilgangsmodifiserere.
- Avledet type kan ikke ha større tilgjengelighet enn basistypen.
- Medlemmet av en inneholder type skal ha tilgjengeligheten mindre enn den den inneholder typen. Dette kan illustreres med et eksempel: En offentlig metode i en inneholder type kan ikke ha "A" som parameter, hvis type A ikke er i offentlig synlighet.
- Grensesnitt er erklært offentlige og interne, og kan ikke ha andre tilgangsmodifiserere, siden grensesnitt hovedsakelig brukes til tilgang av klasser for å stamme fra det.
- Tilgangsmodifiserere brukes ikke bare for klassemedlemmer, men også til andre kodekonstruksjoner med samme intensjon.