Forskjell mellom virtuell og abstrakt metode

Hovedforskjell: Abstrakte metoder er metodene som er deklarert, men har ingen implementering. Virtuelle metoder brukes til implementering av den typebaserte polymorfismen. Den avledede klassen har fleksibiliteten til å implementere den virtuelle metoden til baseklassen ved å bruke søkeordet 'overstyring'.

I C # kan abstrakt søkeord brukes med både klasser og metoder. Abstrakte metoder er de metodene som mangler noen form for implementering. Implementasjonslogikken er imidlertid oppnådd av de ikke-abstrakte klassene som er avledet fra dem. Dette oppnås ved å overstyre den metoden. På grunn av fraværet av faktisk implementering forblir kroppens metode tom. Det er viktig å merke seg at erklæringen av en abstrakt metode bare er mulig i en abstrakt klasse. Klassene som ikke kan initialiseres, kalles abstrakte klasser. En klasse som arver fra en abstrakt klasse må gjennomføre alle metodene som er oppfattet som abstrakte i abstrakt klassen.

For eksempel -

offentlig abstrakt klasse eksempelAbstractClass

{

offentlig abstrakt tomt eksempelabstraktMetode ();

offentlig virtuell tomgang nonAbstractMethod ()

{

Console.WriteLine ("Implementering er definert i metoden");

}

klasse normalNonAbstractClass: exampleAbstractClass

{

offentlig overstyring tomt eksempelabstraktMetode ()

{

Console.WriteLine ("Overstyrer eksempelabstractMethod for klassetekstAbstractClass");

}

}

Virtual er også et søkeord som er knyttet til endringen av en metode, eiendom, indekser eller hendelsesdeklarasjon. Bruken av dette søkeordet tillater endring av den deklarerte enheten i en avledet klasse. I dette eksemplet har den avledede klassen tilsidesatt den virtuelle metoden som er deklarert i grunnklassen.

klassebase

{

offentlig virtuell ugyldig test ()

{

Console.WriteLine ( "Base.Test");

}

}

klasse avledet: base

{

Offentlig overstyring ugyldig Test ()

{

Console.WriteLine ( "Derived.Test");

}

}

Virtuelle metoder brukes til implementering av den typebaserte polymorfismen. Den avledede klassen har fleksibiliteten til å implementere den virtuelle metoden til baseklassen ved å bruke overstyringsnavnet. Både virtuelt og abstrakt kan ikke brukes sammen med statiske eller virtuelle eller overstyre modifikatorer.

Sammenligning mellom virtuell og abstrakt metode:

Virtuell metode

Abstrakt Metode

Definisjon

Virtuelle metoder brukes til implementering av den typebaserte polymorfismen.

Abstrakte metoder er metodene som er deklarert, men har ingen implementering.

Gjennomføring

Ja, kan ha implementering

Nei, kan ikke ha noen implementering

Trenger å bli overstyrt

Ikke obligatorisk

obligatorisk

Søkeord brukes til å skille det fra andre typer metoder

Virtuell

Abstrakt

Klasse

Klasse som inneholder virtuell metode kan bli instantiated.

Klasse som inneholder abstrakt metode kan ikke opprettes. Det kan bare arves.

omfang

Virtuell metode er bare tilgjengelig for medlemmer.

Abstrakt metode er omfang til medlemmer og klasser.

Metode som skal utføres (objektbasert klassetype)

Foreldreimplementering vil bli kalt bare i tilfelle der det ikke er gjennomført implementering i konkrete klassen.

Betongimplementering

Metode som skal utføres (objekt-konkret klassetype)

Betongimplementering

Betongimplementering

Anbefalt

Relaterte Artikler

  • forskjell mellom: Forskjellen mellom India og Pakistan

    Forskjellen mellom India og Pakistan

    Hovedforskjell: India og Pakistan er to land som ligger i Sør-Asia. India og Pakistan er begge naboer og deler de samme historiske hendelsene før deres uavhengighet som de begge deler fra samme region. På den annen side er de forskjellige i mange aspekter som område, primær språk, dominerende religion osv. Indi
  • forskjell mellom: Forskjellen mellom vinter og vår

    Forskjellen mellom vinter og vår

    Nøkkelforskjell: Vinter er den kaldeste sesongen blant de fire og er forbundet med regn, snø, hagl og andre forkjølelsesfenomener. Våren er et temperert vær og er forbundet med grønt, blomster, regn osv Det er fire store sesonger i mange av landene: vår, vinter, høst og sommer. De fire årstider er forårsaket av Jordens tilt på sin akse og dens revolusjon rundt solen. Mens i ma
  • forskjell mellom: Forskjell mellom Sony Xperia E og Sony Xperia J

    Forskjell mellom Sony Xperia E og Sony Xperia J

    Hovedforskjell: Sony Xperia E og E-Dual er to inngangsnivå telefoner fra Sony Mobile. Telefonen leveres med en 3, 5 TFT kapasitiv som har en ~ 165 ppi pixel tetthet. Den leveres med en 1 GHz Cortex-A5 Qualcomm Snapdragon-prosessor, en Adreno 200 GPU og 512 MB RAM. Xperia J ble annonsert i oktober 2012 som en billigere variant av Xperia T, noe som resulterte i at telefonen sportet et lignende design til T.
  • forskjell mellom: Forskjellen mellom egoistisk og middel

    Forskjellen mellom egoistisk og middel

    Hovedforskjell: Selvisk og gjennomsnittlig er synonymer; som ligner og peker på samme type natur. 'Selfish' kan tas som en motiverende atferd, som en person oppfører seg for å oppfylle deres behov. Mens 'mean' er en persons uvillige eller ukjente naturtype, som ikke har noen bekymringer med andre mennesker. B
  • forskjell mellom: Forskjell mellom Spice Stellar Pinnacle Pro og Samsung Galaxy S Duos

    Forskjell mellom Spice Stellar Pinnacle Pro og Samsung Galaxy S Duos

    Hovedforskjell: Spice Stellar Pinnacle Pro Mi-535 er en mid-range budsjett quad-core telefon med en hastighet på 1, 2 GHz. Den kjører Android 4.2 Jelly Bean og drives av 1 GB RAM. Telefonen har et 8 MP kamera med autofokus og LED Flash. Telefonen har også et 5 MP-front vendt vidvinkel sekundær kamera, også med autofokus. Sam
  • forskjell mellom: Forskjellen mellom skatt og plikt

    Forskjellen mellom skatt og plikt

    Nøkkelfaktor: En skatt er en form for avgift som pålegges gjenstander, for eksempel inntekt, salg, produkt eller aktivitet. Det er to hovedtyper av skatter: direkte skatt og indirekte skatt. En plikt er i utgangspunktet en bestemt type skatt. Vanligvis er det en skatt som er pålagt toll, dvs. import og eksport av varer. A
  • forskjell mellom: Forskjellen mellom Kurta og Kurti

    Forskjellen mellom Kurta og Kurti

    Hovedforskjell: Den primære forskjellen mellom Kurta og Kurti er ikke noe mer enn lengden. Kurta er normalt lang, vanligvis knel eller kalvlengde, mens en Kurti ofte er kort måling i midje eller hofte lengde. Både Kurta og Kurti er forskjellige typer topper som kan brukes. De var opprinnelig designet for funksjonalitet, da deres løs bomullsformet var ideell for det varme og fuktige klimaet i India og andre Sør-Asia-regioner. Men
  • forskjell mellom: Forskjellen mellom Nordpolen og Sørpolen

    Forskjellen mellom Nordpolen og Sørpolen

    Hovedforskjell: Nord- og Sørpolen er jordens sluttpoler. Nordpolen er det nordligste punktet til jordens akse; kjent som den arktiske regionen. Mens Sørpolen er det sørligste punktet til jordens akse; kjent som det antarktiske kontinentet. Jordens nord- og sørpoler er kjent som endepolene som ligger til ekstreme punkter på jorden. Nor
  • forskjell mellom: Forskjell mellom hjertestans og plutselig hjertestans

    Forskjell mellom hjertestans og plutselig hjertestans

    Nøkkelforskjell: Kardial Arrest er en hjertesykdom hvor hjertet ikke samler seg ordentlig, og dermed ikke effektivt sirkulerer blod til de andre organene. Hjerteanfall brakt på plutselig er kjent som Sudden Cardiac Arrest (SCA) og får hjertet til å slutte å slå helt. Hjertestans og plutselig hjertestans er bare to sider av samme mynt. De e

Redaksjonens

Forskjellen mellom gynekolog og obstetrikeren

Hovedforskjell: En gynekolog er en lege som ser etter kvinners reproduktive helse. På den annen side er en Obstetrician en lege som sørger for kvinner spesielt under graviditet og etter fødselen av barnet. Gynekolog er en lege som ser på problemer med en kvinnes reproduktive system. De er primært opptatt av å ta vare på problemer relatert til eggstokkene, livmorhalsen, livmorhalsen og skjeden. De be