Innholdsfortegnelse:
Definisjon - Hva betyr Derived Class?
En avledet klasse, i sammenheng med C #, er en klasse opprettet, eller avledet fra en annen eksisterende klasse. Den eksisterende klassen som den avledede klassen blir opprettet gjennom arv, er kjent som base- eller superklasse.
Når den arver fra baseklasse, arver den avledede klassen implisitt alle medlemmene (unntatt konstruktører og destruktører) som den gjenbruker, utvider og endrer oppførselen til baseklassen. Den avledede klassen overstyrer egenskaper og metoder for baseklassen, slik at den representerer den spesialiserte versjonen av baseklasse. C # gir muligheten til å overstyre og skjule metoder for baseklasse i avledet klasse som gjør at begge klassene kan utvikle seg fritt og opprettholde binær kompatibilitet.
Techopedia forklarer Derived Class
Følgende er noen av funksjonene til avledede klasser i C #:
- Som i Java og i motsetning til C ++, kan en avledet klasse ikke ha mer enn en baseklasse, men kan avledes fra mer enn ett grensesnitt. Imidlertid arver den alle medlemmene av foreldrebaseklasser som er erklært i arv hierarkiet, på grunn av arvelig karakter av arv
- Tilgangsmodifiserere som brukes i erklæringen om avledet klasse, spesifiserer tillatelsene til å bruke medlemmer av baseklassen
- Kode i konstruktøren til en avledet klasse som blir utført under opprettelsen, vil kun bli utført etter utførelse av konstruktøren av baseklassen
- Avledet klasse må bruke modifikatoren, 'overstyre' for å erklære den virtuelle metoden (deklarert i sin baseklasse med 'virtuelt' nøkkelord) som må overstyres. Bare forekomstmetoder og egenskaper kan overstyres
- Avledet klasse kan ha en ny metode som skjuler den virtuelle metoden som er erklært i base (med lignende signatur) ved å bruke nøkkelordet, 'nytt'. For å få tilgang til metoden i baseklasse fra avledet klasse, kan 'base' nøkkelord brukes
- En klasse kan forhindre avledning ved å erklære den som 'forseglet' og kan ikke brukes som baseklasse
- En avledet klasse med baseklasse som en abstrakt klasse kan instantieres hvis den avledede klassen ikke er erklært abstrakt og avledet klasse har implementeringen for alle abstrakte metoder som er erklært i grunnklassen.