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

  • popularne usporedbe: Razlika između web-usluga REST i SOAP

    Razlika između web-usluga REST i SOAP

    Ključna razlika: SOAP se zalaže za Simple Object Access Protocol. SOAP web usluge temelje se na SOAP i ws- * specifikacijama. Pojam prijenosa reprezentativnih država (REST) ​​skovao je Roy Fielding. Odnosi se na sučelje web aplikacije koje se implementira pomoću koncepata i načela HTTP-a i REST-a. Web-uslu
  • popularne usporedbe: Razlika između qHD i Full HD

    Razlika između qHD i Full HD

    Ključna razlika: qHD označava četvrtinu visoke razlučivosti, a jedna četvrtina je pune visoke razlučivosti ili pune visoke razlučivosti (HD), otuda i naziv qHD. Obje ove rezolucije razlikuju se i po mjerenju. Visoka definicija ili HD, kao što je popularno poznato, došlo je do definiranja doživljaja gledanja prosječnog televizijskog gledatelja. Jednostav
  • popularne usporedbe: Razlika između sode za pečenje i praška za pečenje

    Razlika između sode za pečenje i praška za pečenje

    Ključna razlika: Soda za pečenje je kemijski spoj koji se upotrebljava kao sredstvo za kvasac u pekarskim proizvodima. Prašak za pecivo je uglavnom samo soda za pečenje pomiješana s kiselinom. Prašak za pecivo je uglavnom samo soda za pečenje pomiješana s kiselinom, obično kremom od kamena i sredstvom za sušenje, obično škrobom. Soda za pe
  • popularne usporedbe: Razlika između Niagara Falls i Victoria Falls

    Razlika između Niagara Falls i Victoria Falls

    Ključna razlika: Niagarski slapovi su slapovi smješteni na rijeci Niagara. Sastoje se od tri slapova - američkog slapa i svadbenog vela u Sjedinjenim Američkim Državama i kanadske 'potkovice' koja pada u Kanadi. Victoria Falls nalazi se na rijeci Zambezi u južnoj Africi, na granici Zambije i Zimbabvea. Vict
  • popularne usporedbe: Razlika između demokracije i fašizma

    Razlika između demokracije i fašizma

    Ključna razlika : fašizam živi pod diktaturom; živjeti potlačeni i pod tuđim uvjerenjima bez vlastite slobode i ograničenih prava. Demokracija je oblik vladavine koji je stvoren za ljude i kojim upravljaju ljudi. Razlika između demokracije i fašizma uključuje vrstu vlasti. U fašističkoj vladi se smatra da je određena skupina ljudi bolja od drugih klasa. U demokraci
  • popularne usporedbe: Razlika između obećanja i predanosti

    Razlika između obećanja i predanosti

    Ključna razlika: Obećanje je jamstvo ili izjava da se nešto radi ili se odnosi na nešto što se događa. Obveza se odnosi na izjavu za koju se nastoji posvetiti kako bi se osiguralo da izjava vrijedi. Većina ljudi se zbunjuje s pojmovima kao što su obećanje i predanost, a zbrka je u vezi s time kad bi trebali uputiti izjavu kao obećanje i kada je treba smatrati obvezom. Između n
  • popularne usporedbe: Razlika između demokracije i Republike

    Razlika između demokracije i Republike

    Ključna razlika : demokraciju možemo definirati kao vladu ljudi. Formira ga narod, narod i narod. Republika je standardni oblik vlasti koji tvori moć, narod, ali samo onima u vladi. Postoji velika razlika između dva oblika vlasti, demokratske i republičke. Važno je razumjeti ih. Demokratska vlada temelji se na ideji da su svi građani jednaki i zajamčena jednaka prava prema zakonu. Demokr
  • popularne usporedbe: Razlika između IMAX-a i INOX-a

    Razlika između IMAX-a i INOX-a

    Ključna razlika: IMAX i INOX su poznata multipleks kina, koja su trenutno poznata po pokretnim grafičkim slikama i njihovim efektima. IMAX je u vlasništvu korporacije IMAX, kanadske tvrtke; budući da je INOX INOX Leisure Limited, zabava i podružnica tvrtke Gujarat Fluorochemicals Ltd. sa sjedištem u Mumbaiju. Mode
  • popularne usporedbe: Razlika između Moto X i Nexus 4

    Razlika između Moto X i Nexus 4

    Ključna razlika: U svibnju 2013., Motorola - Googleova tvrtka najavila je lansiranje svog vodećeg telefona, Moto X. Telefon je službeno dostupan 23. kolovoza 2013. Nexus 4 je Googleov četvrti Android smartphone s robnom markom Nexus. Proizveden je u suradnji s tvrtkom LG Electronics. Sektor za osobnu komunikaciju (PCS), u suštini Motorola-ina mobilna telefonska služba, kupio je Google 15. kolo

Izbor Urednika

Razlika između američke kulture i britanske kulture

Ključna razlika: Povijest Amerike i Britanije isprepletena je zbog čega postoji mnogo sličnosti. Međutim, postoje i mnoge razlike između dviju kultura, uključujući, ali ne ograničavajući se na ponašanje, smisao za humor, televiziju, sklonost hrani i piću, sport, itd. I Amerika i Britanija su zemlje s vrlo starim povijestima i tradicijama, pa je razumljivo reći da su razvile vrlo različite kulturne prakse. Međutim, po