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

  • beliebte Vergleiche: Unterschied zwischen Karate und MMA

    Unterschied zwischen Karate und MMA

    Hauptunterschied: Ein Unterschied zwischen Karate und MMA ist, dass Karate eine in Japan entwickelte Kampfkunst ist, während MMA eine Kombination aus mehreren Kampfkünsten ist, einschließlich Karate. Karate ist ein Begriff, der sich aus der Verschmelzung zweier Wörter ableitet: 'kara' und 'te'. Ka
  • beliebte Vergleiche: Unterschied zwischen Nachname und Vorname

    Unterschied zwischen Nachname und Vorname

    Schlüsseldifferenz: Vorname ist der Name, der einer Person gegeben wird, und wird als Hauptidentifizierungsattribut für die Person verwendet. Es wird im Allgemeinen bei der Geburt oder Taufe gegeben. Vorname wird auch als Vorname bezeichnet. Nachname ist der Nachname und wird mit Vornamen und Vorname vorangestellt.
  • beliebte Vergleiche: Unterschied zwischen Stoffwechsel, Katabolismus und Anabolismus

    Unterschied zwischen Stoffwechsel, Katabolismus und Anabolismus

    Hauptunterschied: Der Metabolismus bezieht sich auf die biochemischen Reaktionen, die in einem Organismus ablaufen. Diese Reaktionen sind wichtig für die Aufrechterhaltung des Lebens. Es besteht aus zwei Prozessen - Katabolismus und Anabolismus. Beim Katabolismus geht es darum, größere Moleküle in kleinere zu zerlegen. Di
  • beliebte Vergleiche: Unterschied zwischen Eis und Schnee

    Unterschied zwischen Eis und Schnee

    Hauptunterschied: Eis ist die feste Form von Wasser. Es wird durch Gefrieren von Wasser erhalten. Auf der anderen Seite ist Schnee ein gefrorener Niederschlag, der entsteht, wenn atmosphärischer Wasserdampf bei extrem kalten Temperaturen gefriert. Schnee besteht aus Eiskristallen, die als Schneeflocken bekannt sind.
  • beliebte Vergleiche: Unterschied zwischen Lucite und Plastic

    Unterschied zwischen Lucite und Plastic

    Hauptunterschied : Lucite ist eine Art Kunststoff. Der Hauptunterschied zwischen den beiden ist, dass Lucite etwas schwerer, dichter und weniger brüchig ist als Kunststoff. Aufgrund der großen Beliebtheit von Kunststoffen ist es leicht zu glauben, dass Ihre Wasserflasche aus Kunststoff, Ihr Kunststoffarmband, Ihre Einkaufstasche aus Kunststoff und sogar das durchsichtige Material, das Ihren Büroraum trennt, alle identisch sind. D
  • beliebte Vergleiche: Unterschied zwischen Microsoft Surface Pro und Sony Xperia Z Tab

    Unterschied zwischen Microsoft Surface Pro und Sony Xperia Z Tab

    Hauptunterschied: Zum Zeitpunkt der Veröffentlichung wurde Microsoft Surface als perfekte Kombination zwischen einem Tablet und einem Laptop bezeichnet. Es wurde ursprünglich im Februar 2013 veröffentlicht. Das Microsoft Surface Pro verfügt über einen 10, 6-Zoll-ClearType-HD-Bildschirm mit einer Pixeldichte von etwa 208 ppi. Der
  • beliebte Vergleiche: Unterschied zwischen PC-Spielen und Xbox

    Unterschied zwischen PC-Spielen und Xbox

    Hauptunterschied: PC- und Xbox-Spiele sind Audio-Video-Spiele. PC-Spiele sind allgemeine Computerspiele, während Xbox-Spiele Serien und eine Liste von Spielen sind, die auf den Xbox-Spielekonsolen gespielt werden können, die von Microsoft entwickelt und produziert werden. PC-Spiele sind allgemeine Computerspiele, die nur auf Computern gespielt werden.
  • beliebte Vergleiche: Unterschied zwischen Yoga und Fitnessstudio

    Unterschied zwischen Yoga und Fitnessstudio

    Hauptunterschied: Der Hauptunterschied zwischen Yoga und dem Fitnessstudio ist die Wirkung, die es auf den Körper hat. Yoga wirkt auf alle Organe des Körpers; Während das Fitnessstudio nur für bestimmte Körperteile wirksam ist. Yoga stammt traditionell aus Indien. Es ist ein Oberbegriff für körperliche, geistige und spirituelle Praktiken. Versc
  • beliebte Vergleiche: Unterschied zwischen Nokia Lumia 1020 und Nokia Lumia 928

    Unterschied zwischen Nokia Lumia 1020 und Nokia Lumia 928

    Hauptunterschied: Das Lumia 1020 ist das neueste Flaggschiff von Nokia. Es verfügt über eine 41-Megapixel-Kamera und läuft unter Windows Mobile 8. Nokia Lumia 928 ist ein zuvor eingeführtes Mobiltelefon von Nokia. Nokia ist ein in Finnland ansässiges multinationales Unternehmen für Kommunikation und Informationstechnologie. Noki

Tipp Der Redaktion

Unterschied zwischen amerikanischem und britischem Akzent

Hauptunterschied: Der amerikanische Akzent ist leichter zu verstehen als der britische Akzent. Es ist auch der am häufigsten verwendete Akzent in der Welt; Der britische Accent ist jedoch mehr idolisiert und gilt als sexy. Die Amerikaner und Briten sprechen beide Englisch, aber wenn sie sprechen, hören sie sich völlig anders an. D