Wie man die Vererbung in C# verwendet

Wie man die Vererbung in C# verwendet
Während wir Code in einer objektorientierten Programmiersprache schreiben, können wir auf Situationen stoßen, in denen wir vorhandenen Code in einer neuen Klasse wiederverwenden oder einer vorhandenen Klasse zusätzliche Funktionen hinzufügen müssen. In solchen Fällen ist das Erbe nützlich. Die Vererbung in der objektorientierten Programmierung ermöglicht es Klassen, die Eigenschaften und das Verhalten einer anderen Klasse zu erben. Dieser Artikel deckt die Verwendung der Vererbung in C# und seinen verschiedenen Typen ab.

Inhaltsverzeichnis

Was ist Vererbung in C#

Wie funktioniert die Erbschaft in C#

Vererbungsarten in C#

  • Einzelvererbung
  • Multi-Level-Vererbung
  • Hierarchische Erbe
  • Multiple Vererbung (nicht in C#unterstützt)

Abschluss

Was ist Vererbung in C#

In C# mit der Vererbung kann eine Klasse die Eigenschaften und Methoden einer anderen Klasse einnehmen oder erben. Mit anderen Worten, es ermöglicht die Erstellung einer neuen Klasse, die auf einer vorhandenen Klasse basiert, die als Basisklasse oder Superklasse bezeichnet wird. Eine Klasse, die nach der Einnahme der Eigenschaften einer Basisklasse gebildet wird, wird genannt eine abgeleitete Klasse oder Unterklasse.

Diese abgeleitete Klasse in C# erfordert nicht nur Eigenschaften der Basisklasse, sondern kann auch seine eigenen einzigartigen Funktionen hinzufügen.

Wie funktioniert die Erbschaft in C#

In C#wird die Erbschaft durch den Einsatz des Dickdarms erreicht (:) :) Symbol. Der Basisklassenname wird nach dem Dickdarm definiert und von der abgeleiteten Klasse angegeben.

Das Folgende ist die Syntax zum Erstellen einer abgeleiteten Klasse, die Eigenschaften aus der Basisklasse enthält:

Klassenableitklasse: Baseclass

// Abgeleitete Klassenmitglieder

Hier in diesem Code, Abgeleitete Klasse ist der Name der abgeleiteten Klasse und Basisklasse ist der Name der Basisklasse. Der : Das Symbol zeigt an, dass die abgeleitete Klasse von BaseClass erbt. Die Mitglieder der abgeleiteten Klasse können auf Basisklassenmitglieder zugreifen, sofern sie nicht privat sind.

Vererbungsarten in C#

C# unterstützt vier Arten der Vererbung: ein einzelne, mehrstufige, hierarchische und mehrfache Vererbung. Schauen wir uns jeden Typ an.

Einzelvererbung

Einer Vererbung ist die häufigste Vererbungsart, bei der eine abgeleitete Klasse Eigenschaften von nur einer einzelnen Basisklasse nimmt oder erbt.

Zum Beispiel, Der angegebene Code erklärt die Klassenhierarchie und zeigt Vererbungskonzepte.

mit System verwenden;
mit System verwenden;
Klassenauto

öffentliche Leere Start ()

Konsole.WriteLine ("Auto begonnen");


Klasse Tesla: Auto

öffentliche Leere Beschleunigung ()

Konsole.WriteLine ("Tesla Beschleunigung");


Klassenprogramm

statische void main (String [] args)

Tesla mytesla = neuer Tesla ();
mytesla.Start(); // Ausgabe: Auto begann
mytesla.Beschleunigen(); // Ausgabe: Tesla Beschleunigung

Im obigen Code die Autoklasse ist die Basisklasse und hat eine Methode genannt Start(), die einfach die Nachricht druckt Das Auto begann zur Konsole.

Der Tesla -Klasse stammt aus der Autoklasse und erfordert alle Eigenschaften der Autoklasse. Die Tesla -Klasse fügt eine Methode genannt hinzu Beschleunigen(), welches die Nachricht druckt Tesla beschleunigen zur Konsole.

Der Hauptsächlich() Funktion definiert eine Instanz der Tesla -Klasse, die genannt wird mytesla und ruft seine Methoden start () und beschleunigen () ().

Multi-Level-Vererbung

In mehreren Level-Vererbung erbt eine abgeleitete Klasse von einer anderen abgeleiteten Klasse, die wiederum von einer Basisklasse erbt.

Zum Beispiel, Der folgende C# -Code zeigt Vererbung und Methode, die in einer Klassenhierarchie überschritten wird.

mit System verwenden;
Klassentier

öffentliche Leere EAT ()

Konsole.Schreiben ("Tieressen");


Klassensäugetier: Tier

öffentliche void run ()

Konsole.WriteLine ("Säugetierlauf");


Klassenhund: Säugetier

öffentliche Leererinde ()

Konsole.WriteLine ("Hundebark");


Klassenprogramm

statische void main (String [] args)

Hund mydog = neuer Hund ();
Mein Hund.Essen(); // Ausgabe: Tieressen
Mein Hund.Laufen(); // Ausgabe: Säugetierlauf
Mein Hund.Bellen(); // Ausgabe: Hundebellen

Hier Hund ist eine abgeleitete Klasse, die von erbt Säugetier, was wiederum erbt Tier. Die Hundeklasse hat Zugang zu allen Eigenschaften, Methoden und Verhalten von Säugetier und Tier und kann auch ihre eigene einzigartige Methode definieren Bellen().

Der Tierklasse ist die Basisklasse und hat eine Methode genannt Essen(), die einfach die Botschaftstiertiere in die Konsole druckt.

Der Säugetierklasse wird aus der Tierklasse abgeleitet und fügt eine Methode genannt Laufen(), das druckt das Meldungssäugetier, das zur Konsole läuft.

Der Hundeklasse wird aus der Säugetierklasse abgeleitet und fügt eine Methode namens hinzu Bellen(), Dadurch bellt der Nachrichtenhund zur Konsole.

Die Main () -Methode erzeugt eine Instanz der Hundeklasse, die genannt wird Mein Hund und ruft seine Eat (), run () und Bark () -Methoden an.

Beachten Sie, dass die Methoden Eat () und Run () nicht in der Hundeklasse definiert sind, sondern von ihren Elternklassen geerbt werden Tier Und Säugetier, bzw. Der Bellen() Die Methode ist nur in der Hundebuchklasse definiert.

Hierarchische Erbe

In hierarchischer Vererbung werden unterschiedliche Anzahl abgeleiteter Klassen nur aus einer Basisklasse vererbt. Zum Beispiel:

mit System verwenden;
Klassenform

öffentliche void Draw ()

Konsole.WriteLine ("Zeichenform");


Klassenkreis: Form

öffentliche Leere fill ()

Konsole.WriteLine ("Füllkreis");


Klassenquadrat: Form

öffentliche void color ()

Konsole.WriteLine ("Malvorlagen Quadrat");


Klassenprogramm

statische void main (String [] args)

Circle mycircle = neuer Circle ();
Mycircle.Ziehen(); // Ausgabe: Zeichnungsform
Mycircle.Füllen(); // Ausgabe: Kreisfüllung
Square mySquare = neuer Square ();
Mysquare.Ziehen(); // Ausgabe: Zeichnungsform
Mysquare.Farbe(); // Ausgabe: Quadrat ausfärben

Im obigen Code beides Kreis Und Quadrat sind abgeleitete Klassen, die er erben Form. Sie haben Zugriff auf die in Form definierte Draw () -Methode und können auch ihre eigenen einzigartigen Methoden FILL () und COLF () definieren.

Hier haben wir ein Objekt der Kreisklasse genannt erstellt Mycircle und ein Objekt der Quadrat Klasse genannt Mysquare. Wir rufen dann das an Ziehen() Methode, die aus der Formklasse auf beiden Objekten vererbt wird.

Als nächstes rufen wir das an Füllen() Methode auf MyCircle, die spezifisch für die Kreisklasse ist, und der Farbe() Methode auf MySquare, die spezifisch für die quadratische Klasse ist.

Die Ausgabe wird wie unten in die Konsole gedruckt:

Multiple Vererbung

In mehreren Vererbung erbt eine abgeleitete Klasse aus mehreren Basisklassen. C# unterstützt jedoch keine Mehrfachvererbung. Um ähnliche Funktionen zu erreichen, verwendet C# Schnittstellen.

Abschluss

Die Vererbung in C# ermöglicht es Klassen, Verhalten und Funktionalität von Basisklassen zu erben. Mit der Vererbung können wir Code wiederverwenden und einen hierarchischen Fluss im Programm erstellen. Durch das Verständnis der verschiedenen Arten der Vererbung kann man effizientere und organisiertere Code schreiben, der leichter zu warten und zu erweitern ist.