Virtuaalse ja abstraktse meetodi erinevus

Peamised erinevused: abstraktsed meetodid on meetodid, mis on deklareeritud, kuid ei ole rakendatud. Tüüpipõhise polümorfismi rakendamiseks kasutatakse virtuaalseid meetodeid. Tuletatud klassil on paindlikkus baasklassi virtuaalse meetodi uuesti rakendamisel, kasutades märksõna „ülekirjutamine”.

C # puhul saab abstraktset märksõna kasutada nii klasside kui ka meetoditega. Abstraktsed meetodid on need meetodid, millel puudub igasugune rakendus. Rakendusloogika saadakse siiski nendest tuletatud mittekstraktsetest klassidest. See saavutatakse selle meetodi ülimuslikkusega. Tegeliku rakendamise puudumise tõttu jääb meetodi keha tühjaks. Oluline on märkida, et abstraktse meetodi deklareerimine on võimalik ainult abstraktses klassis. Klassid, mida ei saa lähtestada, on tuntud kui abstraktsed klassid. Abstraktsest klassist päritud klass peab rakendama abstraktses klassis kõik abstraktseks tunnistatud meetodid.

Näiteks -

avalik abstraktne klassinäideAb AbstractClass

{

avalik abstraktne void exampleabstractMethod ();

avalik virtuaalne tühimik, mitteAb AbstractMethod ()

{

Console.WriteLine ("Rakendamine on määratletud meetodis");

}

class normalNonAb AbsztraktClass: exampleAb AbsztraktClass

{

avalik ülekirjutamine tühine exampleabstractMethod ()

{

Console.WriteLine (klassi näiteAbstractClassi eksampleab AbsztraktMetodi ülekirjutamine);

}

}

Virtual on ka märksõna, mis on seotud meetodi, vara, indekseerija või sündmuse deklaratsiooni muutmisega. Selle märksõna kasutamine võimaldab muuta deklareeritud üksust tuletatud klassis. Selles näites on tuletatud klass ületanud baasklassis deklareeritud virtuaalse meetodi.

klassi baas

{

avalik virtuaalne tühimik Test ()

{

Console.WriteLine ("Base.Test");

}

}

klass Tuletatud: Base

{

avaliku ülekande tühistamine Test ()

{

Console.WriteLine ("Derived.Test");

}

}

Tüüpipõhise polümorfismi rakendamiseks kasutatakse virtuaalseid meetodeid. Tuletatud klassil on paindlikkus baasklassi virtuaalse meetodi taaskäivitamisel, kasutades ülekirjutamise märksõna. Nii virtuaalset kui ka abstraktset ei saa kasutada koos staatiliste või virtuaalsete või ülekirjutustega.

Virtuaalse ja abstraktse meetodi võrdlus:

Virtuaalne meetod

Abstraktne meetod

Määratlus

Tüüpipõhise polümorfismi rakendamiseks kasutatakse virtuaalseid meetodeid.

Abstraktsed meetodid on meetodid, mis on deklareeritud, kuid ei ole rakendatud.

Rakendamine

Jah, võib olla rakendamine

Ei, ei saa mingit rakendamist rakendada

Vajadus tühistada

Ei ole kohustuslik

Kohustuslik

Märksõna, mida kasutatakse selle eristamiseks teistest meetoditest

Virtuaalne

Abstraktne

Klass

Virtuaalset meetodit võib klassifitseerida.

Abstraktset meetodit sisaldavat klassi ei ole võimalik kohelda. Seda saab pärida ainult.

Reguleerimisala

Virtuaalse meetodi ulatus ainult liikmetele.

Abstraktse meetodi ulatus liikmete ja klasside suhtes.

Teostatav meetod (objekt-baasi klassi tüüp)

Vanemate rakendamist kutsutakse ainult juhul, kui konkreetses klassis ei rakendata.

Konkreetne rakendamine

Teostatav meetod (objekt-konkreetne klassitüüp)

Konkreetne rakendamine

Konkreetne rakendamine

Soovitatav

Seotud Artiklid

  • vahe: Kummi puidu ja lehtpuu vaheline erinevus

    Kummi puidu ja lehtpuu vaheline erinevus

    Peamine erinevus: puit liigitatakse peamiselt kahte kategooriasse: lehtpuu ja puit. Hardwood on puit, mis on pärit angiospermipuust. Tegemist on puuliigiga, millel on suletud seemned, olgu need kaunad, kest, kattekiht või viljad. Kummipuu on peamiselt puit, mis pärineb kummist puust, para kummipuu on spetsiifiline. S
  • vahe: Südame rünnaku ja südamepuudulikkuse erinevus

    Südame rünnaku ja südamepuudulikkuse erinevus

    Põhiline erinevus: südameatakk on see, kui südame verevool on piiratud, põhjustades südamerakkude surma. Verevoolu puudumise põhjuseks on koronaararteri osaline ummistumine, mis põhjustab haavatava aterosklerootilise naastu purunemise, ebastabiilse lipiidide ja valgeliblede kogumise arteri seinas. Südam
  • vahe: Erinevus gripi ja sigade gripi vahel

    Erinevus gripi ja sigade gripi vahel

    Peamine erinevus: Peamine erinevus tavalise gripi ja sigade katku vahel on asjaolu, et neid põhjustavad erinevad patogeenid. Gripi, mida üldtuntud kui gripp, põhjustavad Orthomyxoviridae perekonna RNA viirused. Teiselt poolt põhjustab sigade katk teist tüüpi viirust. Sigade grippi põhjustavad sigade katku viirus (SIV) või sigade päritolu gripiviirus (S-OIV). Need vi
  • vahe: Erinevus Paleo ja Vahemere dieedi vahel

    Erinevus Paleo ja Vahemere dieedi vahel

    Peamine erinevus: Paleo dieet ja Vahemere dieet on kaks erinevat tüüpi dieeti, mis on nendel päevadel väga populaarsed. Paleo dieet tähistab paleoliitikut. See toob kasu dieedile, mida järgnes ajalooline mees. Vahemere dieet järgib Vahemere piirkonna, eriti Kreeka, Lõuna-Itaalia ja Hispaania, toitumisharjumuste kombinatsiooni. Alates
  • vahe: Keraamiliste ja turmaliini juuste kuivatite erinevus

    Keraamiliste ja turmaliini juuste kuivatite erinevus

    Peamised erinevused: Keraamilised juukseföönid on juuksekuivatid, mida toidavad keraamilised kütteseadmed. Need kuivatid on sarnased vanematele kuivatitele, mida toideti metallrullidega. Turmaliinid on elektriseadmed, mis on valmistatud turmaliini poolvääriskividest. Kive kasutatakse ioonide ja infrapunavalguse kiirgamiseks. Föö
  • vahe: Suhkru ja melassi erinevus

    Suhkru ja melassi erinevus

    Peamine erinevus: suhkur on magusa maitsega toiduainete üldnimetus. Sahharoosi, lauasuhkrut saadakse peamiselt suhkruroo- või suhkrupeedist. Suhkur on turul saadaval paljudes vormides. Melass on suhkru tootmisprotsessi kõrvalsaadus; olgu see suhkruroo kiud, peet või viinamarjad. Suhkur on magusa maitsega toiduainete üldnimetus. Suh
  • vahe: Erinevus iPhone 6 ja iPhone 5S vahel

    Erinevus iPhone 6 ja iPhone 5S vahel

    Peamised erinevused: iPhone 6 kuulutati välja 2014. aasta septembris ja see on uusim telefon iPhone iPhone'i seerias pärast iPhone 5, iPhone 5S ja iPhone 5C. IPhone 6-l on suurem ekraan, ümarad servad ja uuem riistvara. Keegi ei saa eitada, et iPhone on telefonituru üks domineerivaid osapooli. Se
  • vahe: Erinevus Samsung Galaxy S Duos ja Nokia Lumia 520 vahel

    Erinevus Samsung Galaxy S Duos ja Nokia Lumia 520 vahel

    Oluline erinevus: Samsung Galaxy S Duos on 2012. aasta septembris käivitatud dual-SIM telefon. Telefonis on 4-tolline TFT mahtuvuslik puutetundlik ekraan, mille tihedus on umbes 233 ppi. Seadmel on Samsungi TouchWizi kasutajaliides Android 4.0.4 ICS-is. Nokia Lumia 520 on 4-tolline IPS mahtuvuslik puutetundlik nutitelefon, mis pakub 480x800 pikslit, mis pakub umbes 233 ppi.
  • vahe: Erinevus Samsung Galaxy Tab 2 7.0 ja Nexus 10 vahel

    Erinevus Samsung Galaxy Tab 2 7.0 ja Nexus 10 vahel

    Peamised erinevused: Samsung Tab 2 7.0 on 7-tolline tahvelarvuti, millel on umbes 170 ppi tihedusega PLS TFT LCD-ekraan. Seade on saadaval ka kahes versioonis; Ainult WiFi-ühendus ja Wi-Fi + 4G. Ainult Wi-Fi tableti toiteallikaks on 1 GHz Dual-core protsessor ja see on saadaval Android v4.0 Ice Cream Sandwichiga, samas kui Wi-Fi + 4G LTE tablett on powered by 1, 2 GHz Dual-core protsessor ja on saadaval Android v4.

Toimetaja Valik

Erinevus ime ja maagia vahel

Peamine erinevus: ime on ebatavaline või imeline sündmus, mille usutavasti põhjustab Jumala jõud. Maagiat määratletakse kui võimu, mis võimaldab inimestel teha võimatuid asju, öeldes erilisi sõnu või tehes erimeetmeid. Üldiselt arvatakse, et maagia on inimese tegu, samas kui ime on Jumala tegu . Nii ime kui