Innholdsfortegnelse:
Definisjon - Hva betyr Protected?
Protected, i C #, er et nøkkelord som brukes til å erklære tilgjengeligheten til et klassemedlem slik at tilgangen til det medlemmet er begrenset til den inneholdende klassen der det er erklært eller til en hvilken som helst klasse avledet fra den inneholdende klassen. Beskyttet tilgjengelighet kan brukes i felt-, metodedeklarasjons- og eiendomserklæringer for å forhindre at de blir synlig utenfor klassen.
Protected er en tilgangsmodifiserer som gjør det mulig for medlemmet av en klasse å være mer synlig enn privat, men mindre enn offentlig tilgjengelighet. De beskyttede medlemmene av en baseklasse kan bare deles av deres etterkommere, som kan overstyre eller bruke dem.
Beskyttet modifiserer hjelper deg med å implementere innkapslingsbegrepet i C # objektorientert programmering. Det brukes hovedsakelig med medlemmer av en baseklasse som blir brukt på nytt i den avledede klassen, noe som hjelper til med å gi sentralisering av felles logikk sammen med et rikt klassehierarki.
Techopedia forklarer Protected
Et beskyttet medlem kan være tilgjengelig i den avledede klassen bare hvis tilgangen skjer gjennom den avledede klassen. Hvis det må åpnes fra utenfor programteksten til klassen der den er erklært, skal den være gjennom en forekomst av avledet type eller en klassetype konstruert fra den.
For eksempel representerer BankAccount-klassen kontoinformasjonen til en bruker og kan definere en metode, CalculInterest, som beskyttet slik at enhver klasse avledet fra BankAccount-klasse (for eksempel SavingsAccount, CheckingAccount, etc.) kan overstyre CalculInterest-metoden med koden som er nødvendig for beregne renter basert på kontotype.
Et beskyttet medlem kan ikke brukes med en statisk modifikator, fordi det bare kan nås via en forekomst. En beskyttet modifikator kan ikke brukes med medlemmer av en struktur fordi arv ikke støttes av struct.
En beskyttet metode kan deklareres med den "virtuelle" modifisereren for å utvide logikken som er nødvendig for å bli utført for spesialisering i den avledede klassen.
Denne definisjonen ble skrevet i sammenheng med C #