Rozdiel medzi virtuálnou a abstraktnou metódou

Kľúčový rozdiel: Abstraktné metódy sú metódy, ktoré sú deklarované, ale nemajú žiadnu implementáciu. Virtuálne metódy sa používajú na implementáciu typového polymorfizmu. Odvodená trieda má flexibilitu opätovného zavedenia virtuálnej metódy základnej triedy pomocou kľúčového slova "override".

V C # môže byť abstraktné kľúčové slovo použité s oboma triedami a metódami. Abstraktné metódy sú metódy, ktoré nemajú žiadnu formu implementácie. Implementačná logika je však získaná nereaktívnymi triedami odvodenými od nich. Toto sa dosiahne tým, že sa táto metóda vyradí. V dôsledku absencie skutočnej implementácie zostáva zostava tela prázdna. Je dôležité poznamenať, že deklarácia abstraktnej metódy je možná iba v abstraktnej triede. Triedy, ktoré nemožno inicializovať, sú známe ako abstraktné triedy. Trieda, ktorá zdedí z abstraktnej triedy, musí implementovať všetky metódy deklarované ako abstraktné v abstraktnej triede.

Napríklad -

verejná abstraktná trieda exampleAbstractClass

{

verejné abstraktné neplatné exampleabstractMethod ();

verejná virtual void nonAbstractMethod ()

{

Console.WriteLine ("Implementácia je definovaná v metóde");

}

class normalNonAbstractClass: exampleAbstractClass

{

verejné override void exampleabstractMethod ()

{

Console.WriteLine ("Prepísanie príkladuabstraktnej metódy triedy exampleAbstractClass");

}

}

Virtuálne je tiež kľúčové slovo, ktoré je spojené s úpravou metódy, vlastníctva, indexovania alebo deklarácie udalosti. Použitie tohto kľúčového slova umožňuje modifikáciu deklarovaného subjektu v odvodenej triede. V tomto príklade odvodená trieda prepísala virtuálnu metódu deklarovanú v základnej triede.

trieda základne

{

public virtual void Test ()

{

Console.WriteLine ( "Base.test");

}

}

trieda Odvodené: základňa

{

verejné override void Test ()

{

Console.WriteLine ( "Derived.Test");

}

}

Virtuálne metódy sa používajú na implementáciu typového polymorfizmu. Odvodená trieda má flexibilitu opätovného zavedenia virtuálnej metódy základnej triedy pomocou kľúčového slova override. Obe virtuálne aj abstraktné nemožno použiť spolu so statickými alebo virtuálnymi modifikátormi.

Porovnanie medzi virtuálnou a abstraktnou metódou:

Virtuálna metóda

Abstraktná metóda

definícia

Virtuálne metódy sa používajú na implementáciu typového polymorfizmu.

Abstraktné metódy sú metódy, ktoré sú deklarované, ale nemajú žiadnu implementáciu.

uskutočnenie

Áno, môže mať implementáciu

Nie, nemôže mať žiadnu implementáciu

Potrebujete byť prevratné

Nie je povinné

povinný

Kľúčové slovo sa používa na odlíšenie od iných typov metód

virtuálne

abstraktné

Trieda

Trieda obsahujúca virtuálnu metódu môže byť inštancovaná.

Trieda obsahujúca abstraktnú metódu nemôže byť inštancovaná. Dá sa to zdediť len.

Rozsah

Rozsah virtuálnej metódy len pre členov.

Rozsah abstraktnej metódy pre členov a triedy.

Spôsob, ktorý sa má vykonať (typ objektu typu-základňa)

Rodičovská implementácia sa bude nazývať iba v prípade, ak v konkrétnej triede nie je implementovaná žiadna implementácia.

Konkrétna implementácia

Metóda, ktorá sa má vykonať (typ objektu typu betónu)

Konkrétna implementácia

Konkrétna implementácia

Odporúčaná

Súvisiace Články

  • rozdiel medzi: Rozdiel medzi HTC One X + a Nokia Lumia 920

    Rozdiel medzi HTC One X + a Nokia Lumia 920

    Kľúčový rozdiel: HTC One X + má 4, 7-palcový dotykový dotykový displej s vysokým rozlíšením s rozlíšením približne 312 pixelov, čo znamená, že obrazovka je celkom úžasná a nezobrazuje žiadne pixely. Prístroj je napájaný procesom Quad-core NVIDIA Tegra 3 s výkonom 1, 7 GHz, ktorý je rýchlejší ako pôvodný HTC One X. Jedným z prvých smartfónov pod
  • rozdiel medzi: Rozdiel medzi krúžkom a prstom

    Rozdiel medzi krúžkom a prstom

    Kľúčový rozdiel: Pojem prsteň je spojený s objektom, ktorý má tvar prstenca alebo kruhového pásu. Preto sa používa v súvislosti s mnohými objektmi. Avšak v súvislosti s ozdobami odkazuje na veľmi krásny ornament, ktorý je zvyčajne vyrobený z nejakého drahého kovu ako zlato alebo striebro. Krúžok (prstový prste
  • rozdiel medzi: Rozdiel medzi Obchodom Google Play a Apple App Store

    Rozdiel medzi Obchodom Google Play a Apple App Store

    Rozdiel kľúčov: Obchod Play a App Store sú dva rôzne typy digitálnych distribučných platforiem. Okrem rozdielového rozdielu, ktorý je v obchode Play Store spustený v systéme Android spoločnosti Google, ktorý je v aplikácii App Store spustený v systéme iOS spoločnosti Apple, existujú len ďalšie rozdiely v rozlíšení. Obchod Play a App Stor
  • rozdiel medzi: Rozdiel medzi Drupal a Joomla

    Rozdiel medzi Drupal a Joomla

    Kľúčový rozdiel: Drupal je bezplatný a otvorený zdrojový rámec na správu obsahu (CMF), ktorý je napísaný v jazyku PHP. Používa sa na blogovanie webových stránok, rovnako ako na politické a vládne webové stránky. Joomla je bezplatný a open source redakčný systém (CMS), ktorý umožňuje používateľom vytvárať webové stránky a online aplikácie. Považuje sa to za pomerne jednodu
  • rozdiel medzi: Rozdiel medzi ASPCA a SPCA

    Rozdiel medzi ASPCA a SPCA

    Kľúčový rozdiel: ASPCA je jednou z najstarších neziskových organizácií, ktorá sa venuje prevencii krutosti voči zvieratám. SPCA je humánna spoločnosť, ktorá bola založená v Anglicku v roku 1824 na ochranu prepravných koní pred krutosťou. Mnohé neziskové organizácie sa objavili, ktoré sa venujú ochrane a starostlivosti o zvieratá. Tieto organizácie pomáhaj
  • rozdiel medzi: Rozdiel medzi AMD a Intel

    Rozdiel medzi AMD a Intel

    Kľúčový rozdiel: AMD a Intel sú dve rôzne spoločnosti, ktoré si navzájom konkurujú na zachytenie odvetvia polovodičov. Hlavným rozdielom medzi týmito dvoma je cena, zatiaľ čo Intel ponúka vysoké ceny za svoje produkty; AMD ponúka lacné ceny pre masy. Každý, kto kúpil za počítačom alebo notebookom, počul názvy AMD a Intel. Obe tieto spoločnosti sú
  • rozdiel medzi: Rozdiel medzi reaktormi tória a uránu

    Rozdiel medzi reaktormi tória a uránu

    Kľúčový rozdiel: Thórium a urán sú dva rôzne prvky, ktoré možno využiť na výrobu energie. Thórium má niektoré významné výhody oproti uránu, ako napríklad vynikajúce fyzikálne vlastnosti a vlastnosti jadrového paliva, hoci je na Zemi dostupnejšie a znižuje produkciu jadrového odpadu počas cyklu výroby paliva. Thórium a urán sú dva rôzne
  • rozdiel medzi: Rozdiel medzi sladovou whisky a miešanou whisky

    Rozdiel medzi sladovou whisky a miešanou whisky

    Kľúčový rozdiel: Sladová whisky je whisky spravidla vyrobená z jačmenného sladu, ktorý je fermentovaný kvasinkami a potom destilovaný. Zmiešaná whisky sa vyrába zmiešaním rôznych druhov whisky. Môžu byť buď pripravené zmiešaním jednoduchých sladov alebo iných whisky ako obilia alebo oboch. Sladová whisky je whisky
  • rozdiel medzi: Rozdiel medzi vlastenectvom a nacionalizmom

    Rozdiel medzi vlastenectvom a nacionalizmom

    Kľúčový rozdiel: Patriotizmus sa odvoláva na kvalitu vlasteneckej činnosti, tj na to, aby sa cítila hrdá na vlastnú krajinu a to, čo robí a dosiahla. V nacionalizme nielenže ľudia milujú svoju krajinu, ale vlastne dali svoju krajinu pred seba a ostatných. Patriotizmus a nacionalizmus sú od detstva vyvŕtané do človeka. Človek sa často d

Redakcia Choice

Rozdiel medzi modelom a supermodelkou

Kľúčový rozdiel: "Model" možno odkázať na akúkoľvek osobu, ktorá je zamestnaná na propagáciu alebo inzerovanie nejakého predmetu moderne, zatiaľ čo "supermodel" je vysoko platený profesionálny model, ktorý je často svetoznámy. Hlavný rozdiel spočíva medzi ich profilmi, tj supermodelky majú vysoký profil a hviezdy v porovnaní s modelom. Modelovanie je módna kar