Rozdíl mezi virtuální a abstraktní metodou

Klíčový rozdíl: Abstraktní metody jsou metody, které jsou deklarovány, ale nemají žádnou implementaci. Virtuální metody se používají pro implementaci typového polymorfismu. Odvozená třída má flexibilitu re-implementace virtuální metody základní třídy pomocí klíčového slova "override".

V C # lze abstraktní klíčové slovo použít s oběma třídami a metodami. Abstraktní metody jsou metody, které nemají žádnou formu implementace. Logika implementace je však získána nerekrétními třídami odvozenými od nich. Toho lze dosáhnout tím, že tuto metodu vyloučíme. Vzhledem k absenci skutečné implementace zůstává tělo metody prázdné. Je důležité poznamenat, že deklarace abstraktní metody je možná pouze v abstraktní třídě. Třídy, které nelze inicializovat, jsou známé jako abstraktní třídy. Třída, která dědí z abstraktní třídy, musí implementovat všechny metody deklarované jako abstraktní v abstraktní třídě.

Například -

veřejná abstraktní třída exampleAbstractClass

{{

veřejná abstraktní prázdná exampleabstractMethod ();

veřejná virtuální neplatnost nonAbstractMethod ()

{{

Console.WriteLine ("Implementace je definována v metodě");

}}

třída normalNonAbstractClass: exampleAbstractClass

{{

public override void exampleabstractMethod ()

{{

Console.WriteLine ("Přepsání příkladuabstrakt Metoda tříd exampleAbstractClass");

}}

}}

Virtuální je také klíčové slovo, které je spojeno s úpravou metody, vlastností, indexování nebo deklarace události. Použití tohoto klíčového slova umožňuje úpravu deklarované entity v odvozené třídě. V tomto příkladu odvozená třída přepsala virtuální metodu deklarovanou ve základní třídě.

třída základny

{{

public virtual void Test ()

{{

Console.WriteLine ("Base.Test");

}}

}}

třída odvozená: Base

{{

public override void Test ()

{{

Console.WriteLine ("Derived.Test");

}}

}}

Virtuální metody se používají pro implementaci typového polymorfismu. Odvozená třída má flexibilitu re-implementace virtuální metody základní třídy pomocí klíčového slova override. Obě virtuální a abstraktní nelze použít společně se statickými nebo virtuálními modifikacemi.

Srovnání mezi virtuální a abstraktní metodou:

Virtuální metoda

Abstraktní metoda

Definice

Virtuální metody se používají pro implementaci typového polymorfismu.

Abstraktní metody jsou metody, které jsou deklarovány, ale nemají žádnou implementaci.

Implementace

Ano, může mít implementaci

Ne, nemůže mít žádnou implementaci

Potřebujete být přepsán

Není povinné

Povinný

Klíčové slovo používané k jeho odlišení od jiných typů metod

Virtuální

Abstraktní

Třída

Třída obsahující virtuální metodu může být instancována.

Třída obsahující abstraktní metodu nemůže být instancí. Může být zděděno pouze.

Rozsah

Rozsah virtuální metody pouze pro členy.

Rozsah abstraktní metody pro členy a třídy.

Metoda, která má být provedena (typ objektu typu-base)

Nadřazená implementace bude volána pouze v případě, že v konkrétní třídě není provedena žádná implementace.

Konkrétní implementace

Metoda, která má být provedena (typ objektu typu beton)

Konkrétní implementace

Konkrétní implementace

Doporučená

Související Články

  • populární srovnání: Rozdíl mezi MacBook Pro a MacBook Air

    Rozdíl mezi MacBook Pro a MacBook Air

    Klíčový rozdíl: MacBook je značka notebooků Macintosh vyráběných společností Apple Inc. MacBook Pro je považován za high-end, pokud jde o specifikace, než MacBook Air. MacBook Pro je řada přenosných počítačů společnosti Apple Inc. Je považována za lepší než MacBook Air, pokud jde o specifikace; a MacBook Pro je dražší také. MacBook Pro má 13palcové a 15
  • populární srovnání: Rozdíl mezi znakem Znamení a Měsícem

    Rozdíl mezi znakem Znamení a Měsícem

    Klíčový rozdíl: znamení zvěrokruhu indikuje pozici slunce v době narození člověka. Měsíční znamení znamená polohu měsíce v okamžiku narození člověka. Zodiac je forma západní astrologie, kde pohyb slunce v době narození člověka přináší zjevení o jeho fyzických rysech, charakteristikách, stavu mysli atd. Chcete-li pochopit znamení zvěrok
  • populární srovnání: Rozdíl mezi sinhálskými a tamilskými

    Rozdíl mezi sinhálskými a tamilskými

    Klíčový rozdíl : Hlavní rozdíl mezi těmito dvěma komunitami spočívá v tom, že "Tamilové" jsou převážně hinduistické a "Sinhalese" jsou převážně buddhistické. Také pocházejí z úplně jiného etnického původu, který žije vedle sebe v jedné zeměpisné oblasti. Tamilští lidé mluví tamilským jazy
  • populární srovnání: Rozdíl mezi odtučněným mlékem a plnotučným mlékem

    Rozdíl mezi odtučněným mlékem a plnotučným mlékem

    Klíčový rozdíl: Odtučněné mléko je výrobek, ze kterého byl odstraněn téměř veškerý mléčný tuk. Plnotučné krémové mléko je plnotučné mléko, ze kterého není smetana odstraněna. Také mléko je homogenizováno. Mléko je jednou z nejdůležitějších částí stravy každého člověka. Jeden by měl mít každý den alespoň jeden skl
  • populární srovnání: Rozdíl mezi FreeBSD a Linuxem

    Rozdíl mezi FreeBSD a Linuxem

    Klíčový rozdíl: FreeBSD je operační systém typu Unix. Je založen na sérii variant Unixu BSD (Berkeley Software Distribution). Linux je také open source operační systém, který je modelován na systému UNIX. Jsou tiché ve výkonu. Některé rozdíly se však vyskytují v aspektech, jako je licence, dostupnost zdrojů atd. FreeBSD je obecně pref
  • populární srovnání: Rozdíl mezi Tai Chi a karate

    Rozdíl mezi Tai Chi a karate

    Hlavní rozdíl: Tai Chi je bojové umění z čínského původu, které se také cvičí při získávání meditace a stabilizace mysli, zatímco Karate je moderní japonská bojová umělecká forma, která se cvičí pro sport a sebeobranu. Tai Chi vznikl v Číně. Byla ovlivněna taoistickými a buddhistickými kláštery. Obecně se zaměřuje na pomalou med
  • populární srovnání: Rozdíl mezi Beyonce a Rihannou

    Rozdíl mezi Beyonce a Rihannou

    Klíčový rozdíl: Beyonce je proslulý americký pop / R & B zpěvák, skladatel a herečka. Rihanna je slavná nahrávací umělec Barbary Pop / R & B, herečka a módní návrhářka. Beyonce Knowles se narodila 4. září 1981 v Houstonu v Texasu. V raném věku vystavovala svůj zpěv talent a účastnila se různých soutěží. Získala několik ocenění za svůj
  • populární srovnání: Rozdíl mezi jógou a posilovnou

    Rozdíl mezi jógou a posilovnou

    Hlavní rozdíl: Hlavní rozdíl mezi jógy a posilovnou je účinek, který má na tělo. Jóga je účinná pro všechny orgány těla; zatímco tělocvična je účinná pouze pro určité části těla. Jóga tradičně pochází z Indie. Je to obecný termín pro fyzické, duševní a duchovní praktiky. Různé tradice jógy se nacházejí v hin
  • populární srovnání: Rozdíl mezi Bitcoin a Namecoin

    Rozdíl mezi Bitcoin a Namecoin

    Klíčový rozdíl: Bitcoin byl zahájen dne 3. ledna 2009 Satoshi Nakamoto. Jedná se o první plně implementovaný protokol kryptocurrency peer-to-peer. Namecoin byl vytvořen z upraveného softwaru Bitcoin a je tedy docela podobný. Ovšem funguje také jako alternativní decentralizovaný DNS. Digitální měny jsou velmi podobné fiatovým měnám. Měny Fiatu jsou měny,

Redakce Choice

Rozdíl mezi benzínem a benzínem

Klíčový rozdíl: Benzín a benzín jsou dvě rozdílná slova pro stejné palivo, které se používá ve spalovacím motoru. Benzín a benzín jsou ve skutečnosti to samé; jen jiné slova. Tato slova mají stejný význam, přičemž jediný rozdíl je v místech, kde se slova používají. Termín "benzín" se používá ve Velké Británii, Indii a na několika dalších místech, zatímco ve Spojených státech je používán "benzín" nebo "plyn pro krátký". To je jediný rozdíl mezi těmito dvěma výrazy. Proc