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 Ahorn und Eiche

    Unterschied zwischen Ahorn und Eiche

    Hauptunterschied: Ahorn und Eiche sind zwei verschiedene Baumarten. Die Begriffe werden auch verwendet, um das von ihren jeweiligen Bäumen erhaltene Holz anzuzeigen. Beides sind Arten von Harthölzern. Ahorn ist ein weißes Hartholz und hat eine sehr enge und gleichmäßige Maserung. Ahornholz ist als hartes und weiches Ahornholz erhältlich. Eich
  • Unterschied zwischen: Unterschied zwischen Seminar und Vorlesung

    Unterschied zwischen Seminar und Vorlesung

    Hauptunterschied: Eine Vorlesung ist, wenn ein Professor oder Lehrer vor einer großen Klasse steht und nur die Informationen gibt, die die Schüler benötigen. Ein Seminar hingegen ist eine eher diskussionsorientierte Lektion. Seminare und Vorlesungen sind Ausbildungsformen, die an der Hochschule und manchmal auch danach stattfinden. E
  • Unterschied zwischen: Unterschied zwischen Affentests und Ad-hoc-Tests

    Unterschied zwischen Affentests und Ad-hoc-Tests

    Hauptunterschied: Adhoc-Tests werden ohne Planung oder Vorbereitung durchgeführt. Wenn das Programm funktionsfähig ist, testet der Programmierer oder Tester die Software anhand seiner Programmkenntnisse. Affentests ähneln Ad-hoc-Tests. Dies kann jedoch ohne Wissen oder Informationen über die Software erfolgen. Be
  • Unterschied zwischen: Unterschied zwischen SIM- und USIM-Karte

    Unterschied zwischen SIM- und USIM-Karte

    Hauptunterschied: SIM (Subscriber Identity Module) ist ein Speicherchip, der in Mobiltelefonen verwendet wird. Der Begriff SIM wird verwendet, um eine 2G-Anwendung zu bezeichnen. Die USIM-Karte (Universal Subscriber Identity Module) ist auch eine SIM-Karte für 3G-Dienste. USIM bietet im Vergleich zu SIM verbesserte Funktionen wie verbesserte Sicherheit usw.
  • Unterschied zwischen: Unterschied zwischen Dornen, Dornen und Stacheln

    Unterschied zwischen Dornen, Dornen und Stacheln

    Hauptunterschied: In der Pflanzenmorphologie sind Dornen, Stacheln und Stacheln ähnliche Strukturen, die durch ihre scharfen und steifen Enden identifiziert werden. Dornen werden aus Trieben gewonnen. Die Stacheln werden aus Blättern gewonnen und die Stacheln aus der Epidermis. Sie alle hängen mit Pflanzenschutzmechanismen gegen Pflanzenfresser zusammen. I
  • Unterschied zwischen: Unterschied zwischen Diabetes Typ 1 und Typ 2

    Unterschied zwischen Diabetes Typ 1 und Typ 2

    Hauptunterschied : Diabetes Typ 1 zeichnet sich durch einen Insulinmangel aus, der durch die Schädigung von Insulin produzierenden Betazellen des Pankreas durch die Antikörper des körpereigenen Immunsystems verursacht wird. Diabetes Typ 2 ist dadurch gekennzeichnet, dass die Körperzellen gegen die Insulinwirkung resistent werden und durch die Betazellen der Bauchspeicheldrüse nicht genügend Insulin produziert werden, um die Resistenz zu überwinden. Diabe
  • Unterschied zwischen: Unterschied zwischen Einzel- und Doppeleintrag in der Buchhaltung

    Unterschied zwischen Einzel- und Doppeleintrag in der Buchhaltung

    Schlüsseldifferenz: Das Buchungssystem der Einzelbuchung erfordert die einmalige Eingabe des Eintrags entweder in der Spalte "Gutschrift" oder in der Spalte "Lastschrift". Bei einem Doppeleintragssystem müssen Sie einen Eintrag zweimal, einmal in die Spalte "Gutschrift" und einmal in die Spalte "Belastung" eines anderen Kontos eingeben.
  • Unterschied zwischen: Unterschied zwischen Taxonomie und Ontologie

    Unterschied zwischen Taxonomie und Ontologie

    Hauptunterschied : Taxonomie und Ontologie sind zwei verschiedene Arten der Kategorisierung. Der Hauptunterschied zwischen Taxonomie und Ontologie besteht darin, dass Taxonomie einfacher ist als Ontologie. Die Taxonomie berücksichtigt eine Art von Beziehung, während die Ontologie viele verschiedene komplexe Beziehungen zwischen den Begriffen berücksichtigt. T
  • Unterschied zwischen: Unterschied zwischen Nostalgie und Melancholie

    Unterschied zwischen Nostalgie und Melancholie

    Hauptunterschied: Der Begriff "Nostalgie" bezieht sich auf das Gefühl der Sehnsucht oder Erinnerung an die Vergangenheit. Melancholie bezieht sich auf tiefe Traurigkeit. Diese Trauer kann auf eine Reihe von Ereignissen zurückzuführen sein oder, wenn auch nicht ohne Grund. Die Ausdrücke Nostalgie und Melancholie werden oft in Verbindung miteinander verwendet, obwohl die Wörter oft verwandt sind, bedeuten sie nicht dasselbe. In

Tipp Der Redaktion

Unterschied zwischen Sony Xperia Z Ultra und HTC One

Hauptunterschied: Das Sony Xperia Z Ultra ist ein High-End-Phablet, das am 3. Juli 2012 eingeführt wurde und als "das flachste Full-HD-Smartphone der Welt" vermarktet wird. Das HTC One ist ein Flaggschiff der HTC Corporation. Es wurde im März 2013 gestartet. Sony hatte kürzlich sein Flaggschiff Telefon Sony Xperia Z herausgebracht. N