Abgeleitete Klasse

Definition - Was bedeutet abgeleitete Klasse?

Eine abgeleitete Klasse ist im Kontext von C # eine Klasse, die erstellt oder von einer anderen vorhandenen Klasse abgeleitet wurde. Die vorhandene Klasse, aus der die abgeleitete Klasse durch Vererbung erstellt wird, wird als Basis- oder Superklasse bezeichnet.

Beim Erben von der Basisklasse erbt die abgeleitete Klasse implizit alle Mitglieder (außer Konstruktoren und Destruktoren), die sie wiederverwendet, erweitert und das Verhalten der Basisklasse ändert. Die abgeleitete Klasse überschreibt die Eigenschaften und Methoden der Basisklasse, sodass sie die spezialisierte Version der Basisklasse darstellt. C # bietet die Möglichkeit, Methoden der Basisklasse in abgeleiteten Klassen zu überschreiben und auszublenden, wodurch sich beide Klassen frei entwickeln und die Binärkompatibilität aufrechterhalten können.

Technische.me erklärt abgeleitete Klasse

Im Folgenden sind einige der Funktionen abgeleiteter Klassen in C # aufgeführt:

  • Wie in Java und im Gegensatz zu C ++ kann eine abgeleitete Klasse nicht mehr als eine Basisklasse haben, sondern kann von mehr als einer Schnittstelle abgeleitet werden. Aufgrund der transitiven Natur der Vererbung erbt es jedoch alle Mitglieder seiner übergeordneten Basisklassen, die in seiner Vererbungshierarchie deklariert sind
  • In der Deklarationsanweisung der abgeleiteten Klasse verwendete Zugriffsmodifikatoren geben die Berechtigungen zur Verwendung von Mitgliedern ihrer Basisklasse an
  • Code im Konstruktor einer abgeleiteten Klasse, der während seiner Erstellung ausgeführt wird, wird erst ausgeführt, nachdem der Konstruktor seiner Basisklasse ausgeführt wurde
  • Die abgeleitete Klasse muss den Modifikator 'override' verwenden, um die virtuelle Methode zu deklarieren (in ihrer Basisklasse mit dem Schlüsselwort 'virtual' deklariert), die überschrieben werden muss. Es können nur Instanzmethoden und -eigenschaften überschrieben werden
  • Die abgeleitete Klasse kann eine neue Methode haben, die die in base deklarierte virtuelle Methode (mit ähnlicher Signatur) unter Verwendung des Schlüsselworts 'new' verbirgt. Um von der abgeleiteten Klasse aus auf die Methode in der Basisklasse zuzugreifen, kann das Schlüsselwort 'base' verwendet werden
  • Eine Klasse kann die Ableitung verhindern, indem sie als "versiegelt" deklariert wird, und kann nicht als Basisklasse verwendet werden
  • Eine abgeleitete Klasse mit der Basisklasse als abstrakte Klasse kann instanziiert werden, wenn die abgeleitete Klasse nicht als abstrakt deklariert ist und die abgeleitete Klasse die Implementierung für alle in der Basisklasse deklarierten abstrakten Methoden hat

Diese Definition wurde im Kontext von .NET geschrieben