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

  • populære sammenligninger: Forskjell mellom SLR og CRR

    Forskjell mellom SLR og CRR

    Hovedforskjell: SLR, kort for, Lovbestemt likviditetsforhold, er forholdet mellom likvide midler til etterspørsel og tidsforpliktelser. CRR, kort for, Cash Reserve Ratio, også kjent som Reserve Requirement, er minimumsforholdet som garanteres av RBI. SLR og CRR er begge bankvilkår. Dette er de finansielle instrumentene i hendene på Reserve Bank of India (RBI), som har myndighet til å kontrollere likviditeten som er tilgjengelig for pengeinstitutter. Sel
  • populære sammenligninger: Forskjell mellom Nokia Lumia 925 og Nokia Lumia 928

    Forskjell mellom Nokia Lumia 925 og Nokia Lumia 928

    Nøkkelen forskjellen: Nokia har nylig annonsert sin nye flaggskip telefon Nokia Lumia 925. Telefonen leveres med en 4, 5-tommers AMOLED kapasitiv berøringsskjerm som tar opp god plass på forsiden, med høyttaler og sensorer på toppen. Den 4, 5-tommers kapasitive skjermen har samme PureMotion HD +, ClearBlack som finnes i Lumia 920. Nok
  • populære sammenligninger: Forskjellen mellom Zigbee og RF

    Forskjellen mellom Zigbee og RF

    Nøkkelforskjell: ZigBee er en RF-standard som er spesialdesignet og utviklet for lav effekt, trådløs overvåking og kontrollapplikasjoner med lav datahastighet, presentert over et stort antall distribuerte noder. RF står for radiofrekvens. Det refererer til en frekvens eller et frekvensbånd som ligger i området fra 10 kilohertz til 300.000 me
  • populære sammenligninger: Forskjellen mellom VIP og VVIP

    Forskjellen mellom VIP og VVIP

    Nøkkelforskjell: VIP står for svært viktig person, mens VVIP står for svært viktig person. VIP-er behandles som viktigere enn en vanlig person. En VVIP er en person som blir behandlet som enda viktigere enn en VIP. Selv om folk hevder at alle er like, eller krever likestilling av alle, er sannheten i saken at ikke alle er like, noen er mer like enn andre. Hva
  • populære sammenligninger: Forskjell mellom hær og marinere

    Forskjell mellom hær og marinere

    Hovedforskjell: Army og Marine Corps er to forskjellige deler av et militær i et land. Army er en landbasert militær gren som er ansvarlig for å håndtere trussel mot land. I mange land er marinene en del av marinen. Men i noen land som for eksempel USA og Storbritannia er marinene en egen avdeling under selvstendig kommando. Ma
  • populære sammenligninger: Forskjellen mellom Brinjal og Aubergine

    Forskjellen mellom Brinjal og Aubergine

    Hovedforskjell: Brinjal og Aubergine er to forskjellige ord som refererer til samme frukt. Aubergine er også kjent som aubergine, brinjal aubergine, melongene og guinea squash. Aubergine / Brinjal er medlem av Solanales rekkefølge og Solanum slekten. Brinjal er et mindre vanlig begrep som høres i land som India, mens aubergine brukes i USA. D
  • populære sammenligninger: Forskjell mellom Samsung Galaxy S4 Mini og Nokia Lumia 928

    Forskjell mellom Samsung Galaxy S4 Mini og Nokia Lumia 928

    Nøkkelforskjell: Samsung har offisielt annonsert småbroren til sitt splitter nye flaggskip: Samsung Galaxy S4 Mini. Telefonen leveres med en 4, 3-tommers qHD Super AMOLED kapasitiv berøringsskjerm som tilbyr ~ 256 ppi pixeldensitet. Vekten på telefonen har også blitt redusert til 107 gram for 3G-modellen og 108 gram for LTE-modellen. Nok
  • populære sammenligninger: Forskjell mellom dusjing og bading

    Forskjell mellom dusjing og bading

    Hovedforskjell: Dusj og bading er både relatert til kroppsrensende aktiviteter. Dusj gjør bruk av en dusjdyse som spruter vann. På den annen side er bading forbundet med bruk av badekar fylt med vann eller en hvilken som helst annen vandig løsning der man nedsetter kroppen og deretter skyller kroppen for å rense den. Fol
  • populære sammenligninger: Forskjell mellom akryl, silkebryte og gel negler

    Forskjell mellom akryl, silkebryte og gel negler

    Nøkkelfaktor: Akryl, Silkebryte og Gel negler er typer kunstige negler som brukes til å legge til mote på fingrene. De er teknikker som brukes av en skjønnhetspleie for å dekorere hendene. Akryl negler er kunstige negler, som er forberedt med den kjemiske sammensetningen av akryl nagelpulver. Akrylspikerpulver består av polyetylmetylmetakrylat (PMMA) , som er en sammensetning av to forskjellige monomerer, etylmetakrylat (EMA) og metylmetakrylat (MMA). Den

Redaksjonens

Forskjellen mellom NRI og NRE-kontoer

Nøkkelforskjell: Begrepet "Ikke-hjemmehørende indianer" er forskjellig fra "Ikke-resident ekstern" og "Ikke-hjemmehørende", der NRI er en juridisk status og NRE og NRO tilbake kontoer. NRI refererer til en statsborgeres skattestatus, mens NRE og NRO er forskjellige typer tilbakekontoer som er tilgjengelige for NRI. E