Inhaltsverzeichnis:
Definition - Was bedeutet abgeleitete Klasse?
Eine abgeleitete Klasse im Kontext von C # ist eine Klasse, die von einer anderen vorhandenen Klasse erstellt oder 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 Member (mit Ausnahme von 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 beide Klassen frei entwickelt werden können und die Binärkompatibilität erhalten bleibt.
Techopedia erklärt die abgeleitete Klasse
Im Folgenden sind einige der Funktionen von abgeleiteten Klassen in C # aufgeführt:
- Wie in Java und anders als in 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
- Zugriffsmodifizierer, die in der Deklarationsanweisung der abgeleiteten Klasse verwendet werden, geben die Berechtigungen für die Verwendung von Mitgliedern der Basisklasse an
- Code im Konstruktor einer abgeleiteten Klasse, der während der 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 (in ihrer Basisklasse mit dem Schlüsselwort 'virtual' deklariert) zu deklarieren, die überschrieben werden muss. Nur Instanzmethoden und -eigenschaften können überschrieben werden
- Die abgeleitete Klasse kann eine neue Methode haben, die die in base deklarierte virtuelle Methode (mit ähnlicher Signatur) mit dem Schlüsselwort 'new' verbirgt. Um von einer abgeleiteten Klasse auf die Methode in der Basisklasse zuzugreifen, kann das Schlüsselwort 'base' verwendet werden
- Eine Klasse kann eine Ableitung verhindern, indem sie als versiegelt deklariert wird, und kann nicht als Basisklasse verwendet werden
- Eine abgeleitete Klasse mit einer 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 aufweist