Hva er virtuell metode i C#
Virtuelle metoder i C# er metoder som er erklært i en baseklasse og kan overstyres av avledede klasser. Med andre ord, en virtuell metode er en metode som kan omdefineres i en underklasse, her er syntaks for den:
Offentlig virtuelt tomromDet virtuelle nøkkelordet indikerer at denne metoden kan overstyres av en avledet klasse, og når en avledet klasse overstyrer en virtuell metode, gir den sin egen implementering av metoden.
For å overstyre en virtuell metode i en avledet klasse, inkluderer du det overstyring av nøkkelordet i metodesignaturen og nedenfor er syntaks for det:
Offentlig overstyring ugyldigOverstyring av nøkkelordet indikerer at denne metoden overstyrer en virtuell metode i foreldreklassen. Her er et eksempel kodebit som demonstrerer bruk av virtuelle metoder i C#:
ved hjelp av system;I dette eksemplet har vi en baseklasse kalt beregning med en virtuell metode som heter Add som ganske enkelt legger til to heltall sammen. Vi har også en avledet klasse som heter CustomCalculation som overstyrer ADD -metoden, men bare når summen av de to tallene er større enn 10.
I den overstyrte tilleggsmetoden sjekker vi om enten x eller y er større enn 10. Hvis denne tilstanden er sann, returnerer vi forskjellen mellom x og y, og hvis tilstanden er falsk, kaller vi base implementering av add -metoden ved hjelp av basisnøkkelordet.
I hovedmetoden oppretter vi et beregningsobjekt og et tilpassetalkuleringsobjekt. Vi kaller først den virtuelle add -metoden på baseberegningsobjektet, og passerer 5 og 7 som argumenter. Dette skal resultere i en sum på 12 og vi kaller deretter den overstyrte add -metoden på CustomCalculation -objektet, og passerer i 12 og 7 som argumenter. Dette bør resultere i en forskjell på 5, siden summen av de to tallene er større enn 10.
Som du ser, kalles den overstyrte add -metoden i CustomCalculation -klassen bare når tilstanden er falsk. Når tilstanden er sann, gir den overstyrte metoden en annen implementering av ADD -metoden som trekker det andre nummeret fra det første, nedenfor er utdataene til koden:
Konklusjon
Den virtuelle metoden i C# gir en måte for klasser å definere metoder som kan tilpasses av avledede klasser. Ved å merke en metode som virtuell, tillater du avledede klasser å gi sin egen implementering av metoden, og hans er et kraftig trekk ved objektorientert programmering som gir større fleksibilitet og gjenbrukbarhet i kode.