Unterschied zwischen virtueller und abstrakter Methode

Hauptunterschied: Abstrakte Methoden sind die Methoden, die deklariert werden, aber keine Implementierung haben. Virtuelle Methoden werden für eine Implementierung des typbasierten Polymorphismus verwendet. Die abgeleitete Klasse hat die Flexibilität, die virtuelle Methode der Basisklasse mithilfe des Schlüsselworts 'override' erneut zu implementieren.

In C # kann das abstrakte Schlüsselwort sowohl mit Klassen als auch mit Methoden verwendet werden. Abstrakte Methoden sind solche Methoden, denen jegliche Implementierung fehlt. Die Implementierungslogik wird jedoch von den nicht abstrakten Klassen erhalten, die von ihnen abgeleitet werden. Dies wird erreicht, indem diese Methode überschrieben wird. Aufgrund der fehlenden Implementierung bleibt der Rumpf der Methode leer. Es ist wichtig zu beachten, dass die Deklaration einer abstrakten Methode nur in einer abstrakten Klasse möglich ist. Die Klassen, die nicht initialisiert werden können, werden als abstrakte Klassen bezeichnet. Eine Klasse, die von einer abstrakten Klasse erbt, muss alle als abstrakt deklarierten Methoden in der abstrakten Klasse implementieren.

Zum Beispiel -

Beispiel einer öffentlichen abstrakten KlasseAbstractClass

{

öffentliche abstrakte Void beispielhaftemethode ();

public virtual void nonAbstractMethod ()

{

Console.WriteLine ("Implementierung ist in der Methode definiert");

}

Klasse normalNonAbstractClass: exampleAbstractClass

{

public override void beispielszusammenfassungMethode ()

{

Console.WriteLine ("Überschreibe die Beispielmethode der Klasse exampleAbstractClass");

}

}

Virtuell ist auch ein Schlüsselwort, das der Änderung einer Methode, Eigenschaft, eines Indexers oder einer Ereignisdeklaration zugeordnet ist. Die Verwendung dieses Schlüsselworts ermöglicht die Änderung der deklarierten Entität in einer abgeleiteten Klasse. In diesem Beispiel hat die abgeleitete Klasse die in der Basisklasse deklarierte virtuelle Methode überschrieben.

Klasse Basis

{

öffentlicher virtueller void Test ()

{

Console.WriteLine ("Base.Test");

}

}

Klasse abgeleitet: Basis

{

öffentliche Überschreibung ungültig Test ()

{

Console.WriteLine ("Derived.Test");

}

}

Virtuelle Methoden werden für eine Implementierung des typbasierten Polymorphismus verwendet. Die abgeleitete Klasse bietet die Flexibilität, die virtuelle Methode der Basisklasse mithilfe des Schlüsselworts override erneut zu implementieren. Sowohl virtuell als auch abstrakt können nicht zusammen mit statischen oder virtuellen Modifizierern verwendet werden.

Vergleich zwischen virtueller und abstrakter Methode:

Virtuelle Methode

Abstrakte Methode

Definition

Virtuelle Methoden werden für eine Implementierung des typbasierten Polymorphismus verwendet.

Abstrakte Methoden sind die Methoden, die deklariert werden, aber keine Implementierung haben.

Implementierung

Ja, kann implementiert werden

Nein, kann keine Implementierung haben

Muss überschrieben werden

Nicht verpflichtend

verpflichtend

Schlüsselwort, mit dem es von anderen Methoden unterschieden wird

Virtuell

Abstrakt

Klasse

Klassen, die eine virtuelle Methode enthalten, können instanziiert werden.

Klasse, die eine abstrakte Methode enthält, kann nicht instanziiert werden. Es kann nur vererbt werden.

Umfang

Gültigkeitsbereich der virtuellen Methode nur für Mitglieder.

Umfang der abstrakten Methode für Mitglieder und Klassen.

Auszuführende Methode (Objektbasisklassentyp)

Die übergeordnete Implementierung wird nur dann aufgerufen, wenn in der konkreten Klasse keine Implementierung bereitgestellt wird.

Konkrete Umsetzung

Auszuführende Methode (objektbetonender Klassentyp)

Konkrete Umsetzung

Konkrete Umsetzung

Empfohlen

In Verbindung Stehende Artikel

  • Unterschied zwischen: Unterschied zwischen Erde und Pluto

    Unterschied zwischen Erde und Pluto

    Hauptunterschied: Die Erde ist der dritte Planet in unserem Sonnensystem. Es ist der Planet, auf dem der Mensch ebenso lebt wie andere Lebensformen. Pluto ist ein Zwergplanet im Sonnensystem. Es liegt hinter Neptun im Kuipergürtel. Erde und Pluto sind zwei Planeten in unserem Sonnensystem. Nun, sie wurden auf jeden Fall als einmal betrachtet.
  • Unterschied zwischen: Unterschied zwischen LED und LCD HDTV

    Unterschied zwischen LED und LCD HDTV

    Hauptunterschied: Ein HDTV ist nichts weiter als ein Fernseher, der High Definition unterstützt. HDTV gibt es in der Regel in drei Ausführungen: LED, LCD und Plasma-Fernseher. LED-Fernseher sind eigentlich eine Art LCD-Fernseher, bei dem die Bilder mit LED-Beleuchtung erzeugt werden. LCD-Fernseher stehen für LCD-Fernseher. U
  • Unterschied zwischen: Unterschied zwischen Haartrockner und Heißluftgebläse

    Unterschied zwischen Haartrockner und Heißluftgebläse

    Hauptunterschied: Haartrockner oder Fön sind elektromechanische Geräte, die nach dem Duschen heiße oder kühle Luft zum Trocknen des Haares abgeben. Der Haartrockner ist so konzipiert, dass er die Luft abgibt, um die Verdampfung von Wasser aus dem Haar zu beschleunigen. Heißluftgebläse sind elektronische Geräte, die zur Abgabe von Heißluft dienen. Heißlu
  • Unterschied zwischen: Unterschied zwischen Kunst und Bildender Kunst

    Unterschied zwischen Kunst und Bildender Kunst

    Hauptunterschied : Der Unterschied zwischen den beiden Begriffen besteht darin, dass "Kunst" ein Ausdruck ist, der verwendet wird, um menschliche Kreativität und Fähigkeiten durch verschiedene Aktivitäten und deren Formen zu definieren, während "Bildende Kunst" eine Art von Kunst ist, die Singen und Schauspielern umfasst, tanzen, musizieren oder ein Instrument spielen, Bildhauerei usw. Ku
  • Unterschied zwischen: Unterschied zwischen Steroiden und Antibiotika

    Unterschied zwischen Steroiden und Antibiotika

    Hauptunterschied: Steroide sind fettlösliche organische Verbindungen, die natürlicherweise im menschlichen Körper vorhanden sind und produziert werden. Diese sind für eine Vielzahl physiologischer Entwicklungen verantwortlich, wie z. B. das Fortpflanzungswachstum, die Regeneration des Gewebes und die Synthese von Kalorien im menschlichen Körper. Ant
  • Unterschied zwischen: Unterschied zwischen Mania und Phobia

    Unterschied zwischen Mania und Phobia

    Hauptunterschied: Manie ist im Grunde eine Art von Stimmung, die durch ungewöhnlich hohe Energieniveaus gekennzeichnet ist. Mania hat eine Vielzahl von Intensitätsstufen, die von milder Manie bis zu voller Manie mit extremer Energie, rasenden Gedanken und erzwungener Sprache reichen. Phobie bezieht sich auf eine abnormale Angst vor etwas.
  • Unterschied zwischen: Unterschied zwischen statischer und dynamischer Bindung

    Unterschied zwischen statischer und dynamischer Bindung

    Schlüsseldifferenz: Die statische Bindung findet statt, wenn der Code kompiliert wird, während die dynamische Bindung auftritt, wenn der Code zur Laufzeit ausgeführt wird. Der Begriff Bindung, statisch und dynamisch, sind grundlegende Konzepte der Java-Programmierung. Diese Konzepte werden während des Lernens von Java früh vermittelt und sind beliebte Fragen, die während eines Vorstellungsgesprächs gestellt werden. Der G
  • Unterschied zwischen: Unterschied zwischen Plantain und Banane

    Unterschied zwischen Plantain und Banane

    Hauptunterschied: Banane ist eine berühmte Frucht, die aus einem hohen Kraut stammt, das im Volksmund als Bananenbaum oder Pflanze bezeichnet wird. Kochbananen können als Bananenvarietät betrachtet werden, die aufgrund ihres nicht süßen Geschmacks im Allgemeinen nicht roh verzehrt wird. Sowohl Banane als auch Banane gehören zu derselben Familie der Musaceae. Beid
  • Unterschied zwischen: Unterschied zwischen Setzling und Schössling

    Unterschied zwischen Setzling und Schössling

    Hauptunterschied : Sämling und Setzling sind zwei verschiedene jugendliche Lebensstadien eines Baumes. Sämling bezieht sich auf einen sehr jungen Baum, der im Zusammenhang mit DBH (Diameter at Breast Height) weniger als 1 Zoll ist. Auf das Stadium des Sämlings folgt das Stadium des Bäumchens, das im Zusammenhang mit DBH im Allgemeinen mit 1 bis 6 Zoll markiert ist. Sä

Tipp Der Redaktion

Unterschied zwischen Nagelspitzen und Acrylnägeln

Hauptunterschied: Eine Nagelspitze ist der vordere Teil des Nagels, während ein Acrylnagel eine künstliche Form eines ganzen Nagels ist. Nagelspitzen sind der vordere Dorsalteil eines Nagels. Sie sind Teil von Naturnägeln, die mit Farblacken, Gellackfarben, Nagellacken und verschiedenen Designs verziert sind. N