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 Schüler und Schüler

    Unterschied zwischen Schüler und Schüler

    Hauptunterschied: Schüler und Schüler werden als synonym betrachtet, da beide eine Person bezeichnen, die von einem Lehrer unterrichtet wird. Der Student wird jedoch im Allgemeinen mit einer Person in Verbindung gebracht, die eine formale Ausbildung besucht, indem sie an einer Schule oder einem College eingeschrieben ist, und der Schüler wird im Allgemeinen mit einem jungen Studenten oder einem jungen Schüler in Verbindung gebracht. Si
  • beliebte Vergleiche: Unterschied zwischen HP Envy X2 und Microsoft Surface RT

    Unterschied zwischen HP Envy X2 und Microsoft Surface RT

    Hauptunterschied: Der Envy X2 ist ein Hybridgerät von Hewlett-Packard (HP). Ein Hybrid ist im Wesentlichen eine Kreuzung zwischen einem Tablet und einem Laptop. Das Envy X2 ist hauptsächlich ein Tablet, das jedoch an eine physische Tastatur angedockt werden kann. Der HP Envy X2 ist mit einem Windows 8-Betriebssystem ausgestattet, das von einem Dual-Core-Prozessor mit 1, 80 GHz (Z2760) und einem 533-MHz-LPDDR2-RAM mit 2 GB betrieben wird.
  • beliebte Vergleiche: Unterschied zwischen Samsung Galaxy Win und Xolo Q800

    Unterschied zwischen Samsung Galaxy Win und Xolo Q800

    Hauptunterschied: Das Samsung Galaxy Win ist ein weiteres Telefon der Samsung Corporation. Das Samsung Galaxy Win gibt es in zwei Varianten: Single-SIM und Dual-SIM. Das Samsung Galaxy Win wird in bestimmten Märkten auch als Samsung Galaxy Grand Quattro verkauft. Das Telefon ist ein Quad-Core-Smartphone für das Budgetsegment.
  • beliebte Vergleiche: Unterschied zwischen Wireless LAN und Bluetooth

    Unterschied zwischen Wireless LAN und Bluetooth

    Hauptunterschied: Wireless LAN (WLAN) steht für Wireless Local Area Network. Es bezieht sich auf ein Netzwerk, das zwei oder mehr Geräte über drahtlose Datenverbindungen über kurze Entfernungen verbindet. Bluetooth ist ein Technologiestandard für kurze Reichweiten, der die drahtlose Kommunikation von Geräten ermöglicht. Bluet
  • beliebte Vergleiche: Unterschied zwischen Judo und Kung Fu

    Unterschied zwischen Judo und Kung Fu

    Hauptunterschied: Judo ist eine sanfte Form der modernen japanischen Kampfkunst und des Kampfsports, während Kung Fu eine große und engagierte Form der chinesischen Kampfkunst ist. Judo ist sowohl eine traditionelle als auch eine moderne japanische Kampfkunstform. Es wurde allgemein von der Samurai- und Feudalkriegerklasse über Jahrhunderte praktiziert. S
  • beliebte Vergleiche: Unterschied zwischen Kickboxen und Savate

    Unterschied zwischen Kickboxen und Savate

    Hauptunterschied: Kickboxen ist eine moderne japanische Form des Kampfsports und der Kampfkunst, während Savate eine traditionelle französische Boxkampfkunst ist. Kickboxing, auch Aero-Boxing genannt, ist ein Stand-Up-Kampfsport und eine Kampfkunstform, die zu Japan gehört. Heute wird die Kampfkunst geübt und unterteilt in japanisches Kickboxing (initiiert in den 1960er Jahren) und amerikanisches Kickboxing (initiiert in den 1970er Jahren). De
  • beliebte Vergleiche: Unterschied zwischen Permutation und Kombination

    Unterschied zwischen Permutation und Kombination

    Hauptunterschied : Permutation und Kombination sind mathematische Konzepte. Es gibt verschiedene Möglichkeiten, wie die Objekte aus einem Satz ausgewählt werden können, um Teilmengen zu bilden. Diese Auswahl von Teilmengen wird Permutation genannt, wenn die Reihenfolge der Auswahl ein Faktor ist und eine Kombination, wenn die Reihenfolge kein Faktor ist. P
  • beliebte Vergleiche: Richter Scale vs Mercalli Scale

    Richter Scale vs Mercalli Scale

    Hauptunterschied: Die Richterskala von Richter ist eine Skala, die den Erdbeben eine Zahl zwischen 1 und 10 in der Reihenfolge ihrer zunehmenden Intensität zuordnet. Die Mercalli-Intensitätsskala ist eine andere seismische Skala. Es kennzeichnet ein Erdbeben von I bis XII, abhängig von den Auswirkungen des Erdbebens. E
  • beliebte Vergleiche: Unterschied zwischen LPG und CNG

    Unterschied zwischen LPG und CNG

    Hauptunterschied : Der Unterschied zwischen LPG und CNG ist das, woraus sie bestehen oder bestehen. CNG besteht hauptsächlich aus Methangas, während LPG Butan, Propan und eine Vielzahl anderer Chemikalien enthält. Der Begriff LPG steht für 'Liquefied Petroleum Gas'. LPG ist ein künstliches Produkt. Es

Tipp Der Redaktion

Unterschied zwischen Poesie und Prosa

Hauptunterschied : Der Hauptunterschied zwischen Poesie und Prosa ist ihre strukturierte Form des Schreibens, wobei Poesie als strukturiert gilt und Prosa eine natürlichere Form des Schreibens ist. In der Linguistik sind Dichtung und Prosa zwei Arten, um die verschiedenen Schreibweisen zu klassifizieren.