Innholdsfortegnelse:
Definisjon - Hva betyr Sealed Class?
En forseglet klasse, i C #, er en klasse som ikke kan arves av noen klasse, men som kan bli formidlet.
Formålet med en forseglet klasse er å indikere at klassen er spesialisert og det ikke er behov for å utvide den til å gi noen ekstra funksjonalitet gjennom arv for å overstyre dens oppførsel. En forseglet klasse brukes ofte til å innkapsle en logikk som må brukes på tvers av programmet, men uten endringer i den.
En forseglet klasse brukes mest av sikkerhetsmessige årsaker ved å forhindre utilsiktet avledning der den avledede klassen kan ødelegge implementeringen som gis i den forseglede klassen. Ettersom den forseglede klassen ikke kan danne en baseklasse, er anrop til forseglede klasser litt raskere fordi de muliggjør visse kjøretidsoptimaliseringer, for eksempel tilkalling av virtuelle medlemsfunksjoner i tilfeller av forseglet klasse til ikke-virtuelle tilkallinger. Forseglet klasse hjelper i versjon ved ikke å bryte kompatibilitet mens du endrer en klasse fra forseglet type til uforseglet.
Noen av nøkkelklassene i .NET rammebibliotek er designet som forseglede klasser, hovedsakelig for å begrense utvidbarheten til disse klassene.
Techopedia forklarer Sealed Class
I motsetning til en struktur, som implisitt er forseglet, erklæres en forseglet klasse med nøkkelordet "forseglet" for å forhindre utilsiktet arv av klassen. En forseglet klasse kan bare være nyttig hvis den har metoder med offentlig tilgjengelighet. En forseglet klasse kan ikke være en abstrakt klasse, da den abstrakte klassen er ment å være avledet av en annen klasse som gir implementering av de abstrakte metodene og egenskapene.
For eksempel kan en forseglet klasse, DatabaseHelper, utformes med egenskaper og metoder som kan betjene funksjonalitetene til databaserelaterte handlinger, inkludert åpen og lukket databaseforbindelse, hente og oppdatere data, etc. Fordi den utfører viktige funksjoner som bør ikke bli tuklet med ved å overstyre i dens avledede klasser, det kan utformes som forseglet klasse.
Tetting begrenser fordelen med utvidbarhet og forhindrer tilpasning av bibliotektyper. Derfor må en klasse tettes etter nøye veier effekten av å tette den. Listen over kriterier du må vurdere for å forsegle en klasse inkluderer:- Klassen er statisk
- Klassen inneholder arvede medlemmer som representerer sensitiv informasjon
- Klassen blir spurt om å hente attributtene sine gjennom refleksjonsmetoden
- Klassen arver mange virtuelle medlemmer som må forsegles
