Indholdsfortegnelse:
Definition - Hvad betyder tilsidesættelse?
Overstyring, i C #, er et nøgleord, der bruges til at erstatte et virtuelt medlem, der er defineret i en baseklasse med definitionen af det pågældende medlem i den afledte klasse.
Modifikatoren for tilsidesættelse giver programmerere mulighed for at specificere specialiseringen af et eksisterende virtuelt medlem, der er arvet fra en baseklasse for at tilvejebringe en ny implementering af dette medlem i den afledte klasse. Det kan bruges med en metode, egenskab, indekser eller en begivenhed, der skal ændres eller udvides i en afledt klasse.
Modifikatoren for tilsidesættelse er beregnet til at implementere begrebet polymorfisme i C #.
Overstyring adskiller sig fra nye modifikatorer, idet førstnævnte kun bruges til at tilsidesætte et virtuelt medlem af en baseklasse, mens sidstnævnte også hjælper med at tilsidesætte et ikke-virtuelt medlem defineret i en baseklasse ved at skjule definitionen indeholdt i baseklassen.
Techopedia forklarer Override
Overstyrning bruges mest i sammenhæng med virtuel metode, hvor udførelsen af en type metode bestemmes af runtime-typen af det forekomst, hvorpå metoden påberåbes. Under tilkaldelsen behøver den, der ringer, ikke vide, at det kaldte objekt var et eksempel på afledt klasse.
For eksempel, hvis Shape er en baseklasse, der leverer den grundlæggende implementering, der er fælles for alle objekter i sin klasse, kan den defineres med en virtuel metode, CalculArea. Kvadrat kan være en klasse, der er afledt af form, som kan tilsidesætte metoden CalculArea til at implementere den logik, der er nødvendig for at beregne arealet af en firkant.
Sådan tilsidesættes en metode i en afledt klasse:
- Metoden i baseklassen skal deklareres med virtuel modifikator.
- Metoden i baseklassen kan være abstrakt, men ikke statisk.
- Adgangsmodifikatoren for metoden i både base- og afledte klasser skal være den samme.
- Metoden skal defineres med den samme signatur i både afledte og baseklasser.