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: Erinevus TOEFLi ja IELTSi vahel

    Erinevus TOEFLi ja IELTSi vahel

    Peamine erinevus : IELTS ja TOEFL on rahvusvahelised keeletestid, mida kasutatakse kandidaatide inglise keele oskuse hindamiseks. Põhiline erinevus kahe testi vahel põhineb üliõpilaste sõnavara ja aktsentidel, kus IELTS on Briti Austraalia eksam ja TOEFL on Ameerika eksam. TOEFL ja IELTS on kaks peamist keeleeksamit, mis on peamiselt mõeldud õpilase ingliskeelsuse piinlikkuse testimiseks, eriti nende võime tõhusalt suhelda klassiruumis ja sobida valdavasse inglise keelt kõnelevasse kultuuri. Samuti o
  • vahe: Erinevus JRE ja SDK vahel

    Erinevus JRE ja SDK vahel

    Oluline erinevus: JRE tähistab Java Runtime Environment. Java byteekoodi käivitamiseks kasutatakse Oracle'i Java-rakenduskeskkonda. Teisest küljest on SDK või tarkvaraarenduskomplekt tarkvaraarendusvahendite komplekt. Neid kasutatakse peamiselt erinevate rakenduste loomiseks. JRE-d kasutatakse nende ja teiste Java-programmide käivitamiseks. JRE
  • vahe: Punase ja rohelise läätse erinevus

    Punase ja rohelise läätse erinevus

    Peamine erinevus: läätsed on kaunviljade perekonna osa. Kaks kõige levinumat ja populaarsemat läätse on punased läätsed ja rohelised läätsed. Punased läätsed on tavaliselt saadaval. Võrreldes teiste läätsedega kipuvad nad küpsema kiiremini, mitte rohkem kui 30 minuti jooksul. Neil on magus ja pähklik maitse ja nad kipuvad pärast küpsetamist sageli õrnalt õrnalt oma kuju säilitama. Rohelistel läätsede
  • vahe: Erinevus JPG ja GIF vahel

    Erinevus JPG ja GIF vahel

    Peamine erinevus: JPG tähistab JPEG-i, mis omakorda tähistab ühist fotorühma ekspertrühma. JPEG-pildi nimi on .jpg või .jpeg. JPEG on fotode kõige sagedamini kasutatav formaat. GIF tähistab graafika vahetamise vormingut. GIF-faili jaoks kasutatav failinimi on .gif või .GIF. GIF on formaat, mida kasutatakse peamiselt graafilistes piltides. JPG ja
  • vahe: Erinevus ühise õiguse ja kriminaalõiguse vahel

    Erinevus ühise õiguse ja kriminaalõiguse vahel

    Peamised erinevused: ühised seadused on seadused, mis on jõustunud kohtuotsuste alusel. Need seadused töötatakse välja otsuste põhjal, mis on antud vanemates kohtuasjades. Ühised seadused on tuntud ka kui kohtupraktika või pretsedent. Kriminaalõigus on kuritegu ja kuriteoohvritele õigusemõistmist käsitlev seadus. Asutus vas
  • vahe: Erinevus USA rohelise kaardi ja USA kodakondsuse vahel

    Erinevus USA rohelise kaardi ja USA kodakondsuse vahel

    Peamised erinevused: USA roheline kaart ja USA kodakondsus on kaks võimalust pikaajaliste õiguste omandamiseks Ameerika Ühendriikides viibimiseks ja töötamiseks. Roheline kaardi omanik võib elada ja töötada Ameerika Ühendriikides. USA kodakondsus annab lisaks roheliste kaartide omanikele rohkem kasu. See ann
  • vahe: Erinevus liiga ja väga vahel

    Erinevus liiga ja väga vahel

    Oluline erinevus: „Liiga“ ja „väga” on terminid, mida kasutatakse teiste sõnade tugevdamiseks. "Väga" saab kasutada tegurite, omadussõnade ja mõnede nimisõnade tugevamaks muutmiseks. Lisaks sellele viitab lause „väga” kasutamine üldiselt positiivsele mõjule. Teisalt on „Liiga” kaks peamist erinevat määratlust. Esimene on see, et seda k
  • vahe: Olulisuse ja ekstrakti erinevus

    Olulisuse ja ekstrakti erinevus

    Oluline erinevus: essents ja ekstrakt on mõlemad lõhna- ja maitseained. Ekstrakti valmistatakse, ühendades õli koostisosast alkoholiga. See loob stabiilse, pikemaajalise maitseaine. Teisest küljest võib sisuliselt olla kaks erinevat tähendust. See võib olla kas imitatsiooniekstrakt või väga kontsentreeritud puhta ekstrakti vorm. Essents
  • vahe: Moraali ja väärtuste erinevus

    Moraali ja väärtuste erinevus

    Peamised erinevused: moraal on reeglite kogum, mis eristab õigust valest ühiskonna, kultuuri, religiooni jms usutussüsteemi alusel. Väärtused on reeglite kogum, mille kehtestab üksikisik. Moraal ja väärtused on osa inimese elust. Sageli dikteerivad nad konkreetse isiku käitumist, isiksust ja eluviisi. Kuigi p

Toimetaja Valik

Erinevus Antarktika ja Arktika vahel

Peamised erinevused: kõige ilmsem erinevus Antarktika ja Arktika vahel on see, et Antarktika asub lõunapoolkeral ja hõlmab lõunapooluse piirkonda, samas kui Arktika asub põhjapoolkeral ja hõlmab Põhjapooluse piirkonda. Antarktika ja Arktika on kaks Maa piirkonda. Neid segatakse sageli, kuna neil on sarnased nimed. Neil