Kapitel 6. Vererbung
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
C#-Klassen unterstützen Vererbung, einen beliebten objektorientierten Mechanismus zur Wiederverwendung von Code. Wenn du eine Klasse schreibst, kannst du optional eine Basisklasse angeben. Deine Klasse wird von dieser abgeleitet, d. h. alles, was in der Basisklasse enthalten ist, ist auch in deiner Klasse vorhanden, ebenso wie alle Mitglieder, die du hinzufügst.
Klassen und klassenbasierte Datensatztypen unterstützen nur Einfachvererbung (du kannst also nur eine Basisklasse angeben). Interfaces bieten eine Form der Mehrfachvererbung. Wertetypen, einschließlich record struct
Typen, unterstützen keine Vererbung. Ein Grund dafür ist, dass Wertetypen normalerweise nicht per Referenz verwendet werden, wodurch einer der Hauptvorteile der Vererbung wegfällt: die Polymorphie zur Laufzeit. Vererbung ist nicht zwangsläufig unvereinbar mit wertähnlichem Verhalten - manche Sprachen können es -, aber es gibt oft Probleme. Wenn zum Beispiel ein Wert eines abgeleiteten Typs einer Variablen des Basistyps zugewiesen wird, gehen alle Felder, die der abgeleitete Typ hinzugefügt hat, verloren. C# umgeht dieses Problem, indem es die Vererbung auf Referenztypen beschränkt. Wenn du eine Variable eines abgeleiteten Typs einer Variablen eines Basistyps zuweist, kopierst du eine Referenz, nicht das Objekt selbst, sodass das Objekt intakt bleibt. Slicing ...
Get Programmierung C# 10 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.