Innholdsfortegnelse:
Definisjon - Hva betyr overstyring?
Overstyring, i C #, er et nøkkelord som brukes til å erstatte et virtuelt medlem som er definert i en baseklasse med definisjonen av det medlemmet i den avledede klassen.
Overstyringsmodifiseringen lar programmerere spesifisere spesialiseringen av et eksisterende virtuelt medlem arvet fra en baseklasse for å gi en ny implementering av det medlemmet i den avledede klassen. Det kan brukes med en metode, egenskap, indekser eller en hendelse som må modifiseres eller utvides i en avledet klasse.
Modifikatoren for overstyring er ment å implementere begrepet polymorfisme i C #.
Overstyring skiller seg fra nye modifikatorer ved at førstnevnte bare brukes til å overstyre et virtuelt medlem av en baseklasse, mens sistnevnte også er med på å overstyre et ikke-virtuelt medlem som er definert i en baseklasse ved å skjule definisjonen som finnes i baseklassen.
Techopedia forklarer Override
Overstyring brukes mest i sammenheng med virtuell metode, der utførelsen av en type metode bestemmes av runtime-typen til forekomsten som metoden påberopes på. Under innkallingen trenger ikke innringeren vite at det kalte objektet var et eksempel på avledet klasse.
For eksempel, hvis Shape er en baseklasse som gir den grunnleggende implementeringen som er vanlig for alle objektene i sin klasse, kan den defineres med en virtuell metode, CalculArea. Square kan være en klasse avledet fra Shape, som kan overstyre CalculArea-metoden for å implementere logikken som er nødvendig for å beregne arealet til et kvadrat.
Slik tilsidesetter du en metode i en avledet klasse:
- Metoden i baseklassen må deklareres med virtuell modifikator.
- Metoden i baseklassen kan være abstrakt, men ikke statisk.
- Tilgangsmodifisereren av metoden i både basis- og avledede klasser skal være den samme.
- Metoden skal defineres med samme signatur i både avledede og baseklasser.
