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 HTC First und Sony Xperia T

    Unterschied zwischen HTC First und Sony Xperia T

    Hauptunterschied: HTC First ist das erste Telefon, das auf der Facebook-Benutzeroberfläche von Facebook veröffentlicht wird. Das Telefon wird von einem Qualcomm MSM8930 Snapdragon 400 mit 1, 4 GHz Dual-Core-Krait und 1 GB RAM gespeist. Das Sony Xperia T ist ein Modell von Sony, das im August 2012 veröffentlicht wurde. E
  • Unterschied zwischen: Unterschied zwischen Samsung Galaxy Note 8.0 und Samsung Galaxy Note 10.1

    Unterschied zwischen Samsung Galaxy Note 8.0 und Samsung Galaxy Note 10.1

    Hauptunterschied: Das Samsung Galaxy Note 8.0 soll die Lücke zwischen dem Galaxy Note II und dem Galaxy Note 10.1 schließen. Das Galaxy Note 8 verfügt über einen 8-Zoll-TFT-Touchscreen mit einer Auflösung von 800 x 1280 Pixeln. Das Gerät wird mit einem Quad-Core-1, 6-GHz-Cortex-A9 und 2 GB RAM betrieben. Das
  • Unterschied zwischen: Unterschied zwischen Samsung Galaxy Note 8.0 und iPad Mini

    Unterschied zwischen Samsung Galaxy Note 8.0 und iPad Mini

    Hauptunterschied: Das Samsung Galaxy Note 8.0 soll die Lücke zwischen dem Galaxy Note II und dem Galaxy Note 10.1 schließen. Das Galaxy Note 8 verfügt über einen 8-Zoll-TFT-Touchscreen mit einer Auflösung von 800 x 1280 Pixeln. Das Gerät wird mit einem Quad-Core-1, 6-GHz-Cortex-A9 und 2 GB RAM betrieben. Das
  • Unterschied zwischen: Unterschied zwischen Salbe und Creme

    Unterschied zwischen Salbe und Creme

    Hauptunterschied: Salbe und Cremes sind beide Arten von topischen Medikamenten. Ein topisches Medikament ist ein Medikament, das auf Körperoberflächen wie die Haut aufgetragen wird. Eine Creme ist eine Emulsion aus Öl und Wasser. Es ist dicker als Lotion, aber dünner als Salbe. Eine Salbe ist eine "homogene, viskose, halbfeste Zubereitung", im Wesentlichen ein fettiges, dickes Öl. Cre
  • Unterschied zwischen: Unterschied zwischen Xiaomi Mi 4 und Mi 4i

    Unterschied zwischen Xiaomi Mi 4 und Mi 4i

    Hauptunterschied : Das Unternehmen hat behauptet, der Mi 4i sei die mittlere Alternative zum ursprünglichen Mi 4. Die Handys unterscheiden sich in ihrer Optik. Der Mi 4 wirkt durch das Stahlgehäuse und die Glasabdeckung vorne und hinten anspruchsvoller. Der Mi 4i hat eine Rückseite aus Polycarbonat, die glänzend und matt sein soll. Xi
  • Unterschied zwischen: Unterschied zwischen LG Optimus G Pro und iPhone 5

    Unterschied zwischen LG Optimus G Pro und iPhone 5

    Hauptunterschied : Das LG Optimus G Pro hat wichtige Neuerungen seines Vorgängers LG Optimus G erhalten. Das Gerät verfügt über einen massiven 5, 5-Zoll-True-Full-HD-IPS-Touchscreen mit Multi-Touch-Fähigkeit und einer Pixeldichte von 401 ppi. Unter der Haube wird das Telefon von einem 1, 7-GHz-Quad-Core-Snapdragon 600 mit Strom versorgt, was es ziemlich schnell und schnell macht. Das
  • Unterschied zwischen: Unterschied zwischen Ajax und jQuery

    Unterschied zwischen Ajax und jQuery

    Hauptunterschied: AJAX steht für Asynchronous JavaScript und XML. Es ist eine Gruppe von Webentwicklungsprogrammen, die zur Gestaltung von Websites verwendet werden. Die Programme erstellen interaktive Webanwendungen mit einer Kombination aus XHTML für die Grundprogrammierung, CSS für das Styling, DOM für Interaktion, Datenaustausch mit XML und XSLT, XMLHttpRequest und JavaScript. jQ
  • Unterschied zwischen: Unterschied zwischen Respekt und Ehre

    Unterschied zwischen Respekt und Ehre

    Hauptunterschied: Respekt ist ein Begriff, der verwendet wird, um Respekt, Wertschätzung und / oder Bewunderung für jemanden zu zeigen. Ehre hingegen ist ein Begriff, der verwendet wird, um hohen Respekt und eine hohe Wertschätzung für jemanden oder etwas zu zeigen. Der Hauptunterschied zwischen den beiden ist, dass Ehre als etwas höher als Respekt angesehen wird. Dah
  • Unterschied zwischen: Unterschied zwischen MPEG und MPEG4

    Unterschied zwischen MPEG und MPEG4

    Hauptunterschied: MPEG steht für die Moving Picture Experts Group. MPEG4 wurde 1999 veröffentlicht und wurde als Kodierungsmethode für Geräte mit begrenzten Ressourcen entwickelt, hauptsächlich für tragbare Geräte wie Mediaplayer und Mobiltelefone. Dieses Format eignet sich auch häufig für Online-Video- und -audiodateien, hauptsächlich für Streaming Media, sowie für CD-Vertrieb, Telefon, Videotelefon und Broadcast-TV-Anwendungen. MPEG steht

Tipp Der Redaktion

Unterschied zwischen ISO und ISI

Hauptunterschied: ISO, kurz für International Organization for Standardization (International Organization for Standardization), gilt als der weltweit größte Entwickler freiwilliger internationaler Standards. Das ISI, kurz für Indian Standards Institute, ist ein Zertifizierungszeichen, das auf vielen indischen Produkten zu finden ist. IS