Razlika između virtualne i apstraktne metode

Ključna razlika: Sažetak metode su metode koje su deklarirane, ali nemaju implementaciju. Za implementaciju polimorfizma temeljenog na tipu koriste se virtualne metode. Izvedena klasa ima fleksibilnost ponovnog implementiranja virtualne metode osnovne klase korištenjem ključne riječi 'override'.

U C #, ključna riječ sažetka može se koristiti s obje klase i metodama. Apstraktne metode su one metode kojima nedostaje bilo koji oblik provedbe. Međutim, logika implementacije dobiva se od ne-apstraktnih klasa izvedenih iz njih. To se postiže poništavanjem te metode. Zbog nedostatka stvarne primjene, tijelo metode ostaje prazno. Važno je napomenuti da je deklariranje apstraktne metode moguće samo u apstraktnoj klasi. Klase koje se ne mogu inicijalizirati poznate su kao apstraktne klase. Klasa koja nasljeđuje od apstraktne klase mora provesti sve metode koje su deklarirane kao apstraktne u apstraktnoj klasi.

Na primjer -

javna apstraktna klasa exampleAbstractClass

{

javni sažetak void exampleabstractMethod ();

public virtual void nonAbstractMethod ()

{

Console.WriteLine ("Implementacija je definirana u metodi");

}

klasa normalNonAbstractClass: exampleAbstractClass

{

javno nadjačavanje void exampleabstractMethod ()

{

Console.WriteLine ("Nadjačavanje exampleabstractMethod klase exampleAbstractClass");

}

}

Virtual je i ključna riječ koja je povezana s izmjenom metode, svojstva, deklaracije indeksa ili događaja. Korištenje ove ključne riječi omogućuje izmjenu deklariranog entiteta u izvedenoj klasi. U ovom primjeru izvedena klasa je zamijenila virtualnu metodu deklariranu u osnovnoj klasi.

klasa Base

{

javni virtualni void Test ()

{

Console.WriteLine ( "Base.Test");

}

}

klasa Izvedeno: Baza

{

javno poništavanje nevažećih Test ()

{

Console.WriteLine ( "Derived.Test");

}

}

Za implementaciju polimorfizma temeljenog na tipu koriste se virtualne metode. Izvedena klasa ima fleksibilnost ponovnog implementiranja virtualne metode osnovne klase pomoću ključne riječi za nadjačavanje. I virtualni i apstraktni ne mogu se koristiti zajedno sa statičkim ili virtualnim ili nadjačavajućim modifikatorima.

Usporedba virtualne i apstraktne metode:

Virtualna metoda

Abstraktna metoda

definicija

Za implementaciju polimorfizma temeljenog na tipu koriste se virtualne metode.

Apstraktne metode su metode koje su deklarirane, ali nemaju implementaciju.

izvršenje

Da, može imati implementaciju

Ne, ne može imati nikakvu implementaciju

Potrebno je poništiti

Nije obavezno

obavezan

Ključna riječ koja se koristi za razlikovanje od drugih vrsta metoda

Virtualan

Sažetak

klasa

Virtualna metoda koja sadrži klasu može se instancirati.

Klasa koja sadrži apstraktnu metodu ne može se instancirati. Može se samo naslijediti.

djelokrug

Područje virtualne metode samo članovima.

Područje apstraktne metode članovima i razredima.

Način izvršenja (tip klase objektne baze)

Nadređena implementacija bit će pozvana samo u slučaju kada u konkretnoj klasi nije provedena implementacija.

Konkretna provedba

Način izvođenja (objekt-betonski tip klase)

Konkretna provedba

Konkretna provedba

Preporučeno

Vezani Članci

  • razlika između: Razlika između tumora i ciste

    Razlika između tumora i ciste

    Ključna razlika: Tumori su neprirodne kvržice ili rast koji se stvaraju dodatnim stanicama u tijelu. Tumor može biti benigni (ne kancerogeni), pre-maligni (pre-kancerogeni) ili maligni (kancerogeni). Cista je, s druge strane, uobičajena kožna bolest koja se javlja među ljudima. Cista je zatvorena kapsula ili struktura slična vrećici. Tipičn
  • razlika između: Razlika između mandoline i ukulelea

    Razlika između mandoline i ukulelea

    Ključna razlika: mandolina i ukulele su dva različita gudačka instrumenta. Glavna razlika između njih je u tome što ukulele imaju četiri žice, dok mandolini obično imaju osam žica, a time i osam klinova za podešavanje. Mandolina i Ukulele dva su različita gudačka instrumenta koja na prvi pogled mogu izgledati prilično slično. Ipak, postoj
  • razlika između: Razlika između duhova i demona

    Razlika između duhova i demona

    Ključna razlika: Duhovi su duše i duhovi preminulih ljudi. Vjeruje se da su demoni nadnaravna bića koja su često zlobna. Ljudi se često zbunjuju između duhova i demona i vjeruju da je svaka nadnaravna aktivnost povezana s demonima koji se miješaju u njihove živote. Ponekad su radnje koje provodi duh slične onima demona i često mogu zbuniti osobu. Međutim,
  • razlika između: Razlika između logistike i upravljanja lancem nabave

    Razlika između logistike i upravljanja lancem nabave

    Ključna razlika: Logistika je segment pod naslovom Upravljanje lancem opskrbe. Posebno se odnosi na planiranje, provedbu i kontrolu učinkovitog i djelotvornog protoka roba i usluga. Upravljanje lancem opskrbe odnosi se na potpuno upravljanje protokom robe i usluga. Pojmovi Logistika i Supply Chain Management (SCM) često mogu biti zbunjujući jer su vrlo međusobno povezani. Iak
  • razlika između: Razlika između onkologa i hematologa

    Razlika između onkologa i hematologa

    Ključna razlika: Onkolog je liječnik koji je specijalist onkologije, što znači da liječi oboljele od raka. Hematolog je liječnik koji se specijalizirao za hematologiju, što znači da se bavi medicinskim stanjima vezanim uz fiziologiju krvi. Onkolog u liječniku specijaliziranom za onkologiju koji je grana znanosti koja se bavi tumorom i rakom. Rad onk
  • razlika između: Razlika između procesije, parade i relija

    Razlika između procesije, parade i relija

    Ključna razlika: Procesija se odnosi na broj ljudi koji se skupljaju i hodaju ili se kreću naprijed na uređen način. Parada je poput pokretne zabave, to je proslava posebnog dana ili događaja. Rally se obično održava kako bi se politički prosvjed ili pokazati podršku za uzrok. To je obično zbog ili protiv nečega ili nekog. Procesija
  • razlika između: Razlika između Lokpal Bill i Jan Lokpal Bill

    Razlika između Lokpal Bill i Jan Lokpal Bill

    Ključna razlika: Lokpal Bill i naknadni Bill Jan Lokpal su i zakoni protiv korupcije koji su usmjereni na rješavanje bujne korupcije u Indiji. Prvi Lokpal Bill uveden je 1968. godine, a prošao je Lok Sabha 1969; međutim, nije prošao Rajja Sabha. Jan Lokpal Bill je novija verzija zakona koji je uveden 2011. god
  • razlika između: Razlika između Indije Gate i Gateway Indije

    Razlika između Indije Gate i Gateway Indije

    Ključna razlika: Indijska vrata nalaze se u New Delhiju, glavnom gradu Indije; dok se Gateway of India nalazi u Mumbaiju, financijskom glavnom gradu i najvećem gradu Indije. Indija je zemlja bogata poviješću; mnogo toga može se vidjeti u spomenicima. Dva takva spomenika su Indijska vrata i Gateway of India. Kak
  • razlika između: Razlika između Samsung Galaxy S Duos i Alcatel One Touch Idol

    Razlika između Samsung Galaxy S Duos i Alcatel One Touch Idol

    Ključna razlika: Samsung Galaxy S Duos je dual SIM telefon koji je lansiran u rujnu 2012. Telefon dolazi s 4-inčnim TFT kapacitivnim zaslonom osjetljivim na dodir, s gustoćom od približno 233 ppi. Uređaj dolazi s Samsung TouchWiz korisničkim sučeljem na Android 4.0.4 ICS-u. Alcatel One Touch Idol je službeni mobilni partner za film Iron Man 3. Ima 4,

Izbor Urednika

Razlika između prava i teorije

Ključna razlika: Zakon i teorija su dva termina koji se često koriste u kontekstu znanstvene terminologije. Glavna razlika između zakona i teorije je da teorija pokušava objasniti razloge iza nečega što se događa u prirodi, dok su znanstveni zakoni samo opisni prikazi kako se nešto događa u prirodi. Pravo i