Virtuell metod

Författare: Randy Alexander
Skapelsedatum: 1 April 2021
Uppdatera Datum: 26 Juni 2024
Anonim
C# abstract class virtual method
Video: C# abstract class virtual method

Innehåll

Definition - Vad betyder virtuell metod?

En virtuell metod är en deklarerad klassmetod som tillåter åsidosättande av en metod med samma härledda klasssignatur. Virtuella metoder är verktyg som används för att implementera polymorfismfunktionen i ett objektorienterat språk, till exempel C #. När en virtuell objektinstansmetod åberopas bestäms metoden som ska anropas baserat på objekten runtime-typ, som vanligtvis är den för den mest härledda klassen.

En introduktion till Microsoft Azure och Microsoft Cloud | I hela denna guide kommer du att lära dig vad cloud computing handlar om och hur Microsoft Azure kan hjälpa dig att migrera och driva ditt företag från molnet.

Techopedia förklarar virtuell metod

En virtuell metod används för att åsidosätta specificerad basklassimplementering när ett runtime-objekt är av den härledda typen. Således underlättar virtuella metoder en konsekvent funktionalitet i en relaterad objektset.

Ett exempel på en implementering av virtuell metod är klasser Manager och Clerk, härledd från basklassen Anställd med en VirtualSalary-metod, som kan åsidosättas i härledda klasser med den nödvändiga logiken för lämplig typ. En lista med anställda-objekt kan kallas vid körning för att beräkna en lön - utan att känna till den specifika implementeringstypen.

Implementering av virtuella metoder skiljer sig åt i programmeringsspråk som C ++, Java, C # och Visual Basic .NET. I Java är alla icke-statiska metoder virtuella som standard, med undantag för metoder som är privata eller markerade med nyckelordet final. C # kräver nyckelordet virtuellt för virtuella metoder, med undantag för privata, statiska och abstrakta metoder, och nyckelordet åsidosätter för att åsidosätta den härledda klassmetoden.

En ren virtuell metod är en virtuell metod som kräver en härledd klass att implementera en metod och inte tillåter instansering av basklassen eller abstrakt klass.