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 napornog rada i pametnog rada

    Razlika između napornog rada i pametnog rada

    Ključna razlika: težak posao je kada netko radi nešto posvećeno. Pametan rad je kada netko radi istu količinu posla, ali brže i učinkovitije. Većina gurua samopomoći će zagovarati tu činjenicu, da bi uspjeli, netko mora naporno raditi na tome. Oni čak mogu reći da mu morate dati sve od trenutka kada se probudite do trenutka kada odete na spavanje. Iako je to
  • razlika između: Razlika između letenja i levitacije

    Razlika između letenja i levitacije

    Ključna razlika: Letenje je nešto što rade ptice, avioni i / ili Superman. Pomislite kako se te stvari kreću u zraku. Imaju svrhu, smjer; oni imaju kontrolu nad svojim kretanjima. Mogu ići kamo žele ili kamo trebaju ići, tj. Od točke A do točke B. Levitacija, s druge strane, je kada se osoba uzdiže u zraku, na maloj udaljenosti od tla, obično ne više od nekoliko metara. Osoba može
  • razlika između: Razlika između pećnice i roštilja

    Razlika između pećnice i roštilja

    Ključna razlika: Pećnica je toplinski izolirana komora koja se koristi za grijanje, pečenje ili sušenje tvari. Najčešće se koristi za kuhanje. Roštilji su prisutni od pronalaska vatre. Djeluje tako što hranu stavlja na žičanu mrežu neposredno iznad vatre, dopuštajući vatri da kuha meso ili povrće. Peći postoje
  • razlika između: Razlika između Alcatel One Touch Idol i Asus FonePad

    Razlika između Alcatel One Touch Idol i Asus FonePad

    Ključna razlika: Alcatel One Touch Idol je službeni mobilni partner za film Iron Man 3. Ima 4, 7-inčni IPS LCD kapacitivni zaslon osjetljiv na dodir s 16 milijuna boja. Zaslon ima rezoluciju od 540 x 960 piksela. Telefon se napaja pomoću dual-core 1 GHz MediaTek MTK 6577+ i 512 MB RAM-a. Asus je najavio najnoviji phablet, Asus Fonepad. Fo
  • razlika između: Razlika između DSP i mikroprocesora

    Razlika između DSP i mikroprocesora

    Ključna razlika: mikroprocesor uključuje funkcije središnje procesorske jedinice računala (CPU) na jednom ili nekoliko integriranih krugova (IC). Svrha mikroprocesora je prihvatiti digitalne podatke kao ulaz, obraditi ih prema uputama, a zatim dati izlaz. DSP procesor je, s druge strane, posebna vrsta mikroprocesora. DS
  • razlika između: Razlika između jednog rođenja i više rođenja

    Razlika između jednog rođenja i više rođenja

    Ključna razlika: Pojedinačno rođenje je kada žena u jednom razdoblju trudnoće zatrudni. Višestruka su rođenja kada žena u jednoj trudnoći zamisli više od jednog fetusa. Kada žena zatrudni uvijek postoji vjerojatnost da će imati više od jednog djeteta u istoj trudnoći; što je veći broj fetusa, to se rjeđe događa. Na primjer, bliz
  • razlika između: Razlika između mašte i fantazije

    Razlika između mašte i fantazije

    Ključna razlika: Mašta je iskustvo koje netko ima kada se bavi stvarnošću, ili kako se nose s realnošću, dok je fantazija nerealan nusprodukt te mašte. Često je lako zamijeniti maštu i maštu kao isto ili čak slične stvari. Međutim, oni su potpuno različiti, ali vrlo povezani. Razmotrimo oba pojma detaljno. Imaginacija
  • razlika između: Razlika između predanog i odnosa

    Razlika između predanog i odnosa

    Ključna razlika: predanost i odnos su dva termina koja se obično smatraju statusima, koji predstavljaju opće ljubavne odnose u životu pojedinca. Izraz 'predan' dolazi od riječi '' predanost '', što predstavlja pouzdan i rezerviran tip odnosa. Biti „u vezi“ jednostavno znači fazu u kojoj dvije osobe dijele svoje vrijeme jedni s drugima. Pojmovi &
  • razlika između: Razlika između prideva i priloga

    Razlika između prideva i priloga

    Ključna razlika: Pridjevi i prilozi dio su osam dijelova govora. Međutim, oni se razlikuju u načinu na koji se koriste. Pridjevi su riječi koje se koriste za opisivanje ili izmjenu imenice ili zamjenice. Može opisati, identificirati ili kvantificirati stvar ili osobu. Prilog je u biti bilo koja riječ ili riječ koja se koristi za opisivanje ili izmjenu glagola, pridjeva ili drugog priloga. Pridj

Izbor Urednika

Razlika između želuca i kiselosti

Ključna razlika: Medicinski, želudac se odnosi na sve što se odnosi na želudac, kao što je čir na želucu definira čir koji se formira u želucu. S druge strane, kiselost se odnosi na bilo koju vrstu stanja koje dovodi do prekomjernog izlučivanja kiseline iz želučanih žlijezda. Mnogi ljudi smatraju želudac i kiselost kao jednu te istu stvar. Međutim, žel