Tutorial zur C#-Abstraktklasse mit Beispiel: Was ist Abstraktion?
Was ist die abstrakte Klasse in C#?
Abstrakte Klasse kann niemals instanziiert werden und ist durch das Schlüsselwort abstract gekennzeichnet. Eine abstrakte Klasse enthält null oder mehr abstrakte Methoden. Die abstrakte Klasse fungiert als Basisklasse und ist so konzipiert, dass sie von Unterklassen geerbt wird, die ihre Methode entweder implementieren oder überschreiben.
Lassen Sie uns anhand des unten aufgeführten Beispiels die abstrakte Klasse in C# lernen. Nachfolgend finden Sie die Definition einer Klasse namens „Animal“. Wenn die Klasse „Tier“ definiert ist, ist nichts über das Tier bekannt, egal ob es sich um einen Hund oder eine Katze handelt. Die Methode namens „description“ ist lediglich eine generische Methode, die für die Klasse definiert ist.
Wenn nun bekannt ist, was genau das Tier sein wird, erstellen wir eine weitere Klasse, die die Basisklasse erbt. Wenn wir wissen, dass das Tier tatsächlich ein Hund ist, erstellen wir die Klasse Hund, die die Hauptbasisklasse erbt. Der Hauptunterschied besteht darin, dass die Klasse Hund die Definition des Description-Methode der Klasse Animal. Sie muss ihre eigene abstrakte C#-Methode namens Dog-Description. Dies ist das Grundkonzept abstrakter C#-Klassen.
Erstellen Sie eine abstrakte Klasse in C#
Sehen wir uns die abstrakte Klasse in C# mit Echtzeitbeispielen an, wie wir unseren Code so ändern können, dass er eine abstrakte C#-Klasse enthält. Beachten Sie, dass wir den Code nicht ausführen, da mit einer C#-Abstraktionsklasse nichts ausgeführt werden kann.
Schritt 1) Als ersten Schritt erstellen wir eine abstrakte Klasse. Die Klasse wird Tutorial heißen und nur eine Methode haben. Der gesamte Code muss in die Datei Program.cs geschrieben werden.
Code-Erklärung:-
- Wir definieren zunächst die abstrakte Klasse. Beachten Sie die Verwendung des Schlüsselworts abstract. Dies wird verwendet, um anzuzeigen, dass die Klasse eine abstrakte Klasse ist.
- Als nächstes definieren wir unsere Methode, die nichts tut. Die Methode muss das Schlüsselwort „virtual“ haben. Dies bedeutet, dass die Methode nicht von der untergeordneten Klasse geändert werden kann. Dies ist eine Grundvoraussetzung für jede abstrakte Klasse.
Schritt 2) Fügen wir nun unsere untergeordnete Klasse hinzu. Dieser Code wird der Datei Program.cs hinzugefügt.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { abstract class Tutorial { public virtual void Set() { } } class Guru99Tutorial:Tutorial { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor=new Guru99Tutorial(); pTutor.SetTutorial(1,".Net"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
An diesem Code ist nichts Außergewöhnliches. Wir definieren einfach eine Klasse namens „Guru99Tutorial“, die die abstrakte Tutorial-Klasse erbt. Anschließend definieren wir die gleichen Methoden, die wir bereits zuvor verwendet haben.
Hinweis:
Hier können wir die Definition der Set-Methode, die in der Tutorial-Klasse definiert wurde, nicht ändern. In der Tutorial-Klasse hatten wir eine Methode namens „Set“ (public virtual void Set()) definiert. Da die Methode Teil der abstrakten Klasse C# war, dürfen wir die Set-Methode nicht erneut in der Klasse Guru99Tutorial definieren.
Zusammenfassung
Eine abstrakte Klasse in Cis ist eine Blaupause für andere Klassen, gekennzeichnet mit dem abstract
Schlüsselwort. Es kann nicht direkt instantiiert werden und kann abstrakte Methoden enthalten, die von abgeleiteten Klassen implementiert werden müssen. Abstrakte Klassen erzwingen eine konsistente Struktur über Unterklassen hinweg und ermöglichen gleichzeitig bestimmte Funktionen. Dieses Konzept wird häufig verwendet, um grundlegende Verhaltensweisen zu definieren und Codeflexibilität durch Vererbung sicherzustellen.