Warum ist Mehrfachvererbung in C# nicht möglich?
Warum ist Mehrfachvererbung in C# nicht möglich?

Video: Warum ist Mehrfachvererbung in C# nicht möglich?

Video: Warum ist Mehrfachvererbung in C# nicht möglich?
Video: 48 Mehrfachvererbung mit Interfaces in C# 2024, Kann
Anonim

C# tut nicht Unterstützung Mehrfachvererbung , weil sie argumentierten, dass das Hinzufügen Mehrfachvererbung C# zu viel Komplexität hinzugefügt, während es zu wenig Nutzen bietet. In C# sind die Klassen nur dürfen zu Erben aus einer einzigen Elternklasse, die als Single bezeichnet wird Nachlass.

Warum ist eine Mehrfachvererbung nicht erlaubt?

Java unterstützt Mehrfachvererbung nur über Schnittstellen. Eine Klasse kann beliebig viele Interfaces implementieren, aber nur eine Klasse erweitern. Mehrfachvererbung wird nicht unterstützt weil es zu einem tödlichen Diamantproblem führt. Eine Schnittstelle ist ein Vertrag von Dingen, die Ihre Klasse implementieren muss.

Man kann sich auch fragen, können wir mehrere Schnittstellen in C# erben? Schnittstellen sind wie Vereinbarungen oder "Verträge" darüber, was für eine Klasse tun können . Klassen kann verfügen über mehrere Schnittstellen , aber Klassen können nicht mehrere erben Klassen. Klassen erben von mehr als einer Klasse ist bekannt als mehrere - Nachlass . C# tut nicht erlauben mehrere - Nachlass.

Was ist hier das Diamond-Problem in C# mit Mehrfachvererbung?

Die " Diamantproblem " ist eine Mehrdeutigkeit, die entsteht, wenn zwei Klassen B und C Erben von A und Klasse D erbt von B und C. Wenn es eine Methode in A gibt, die B und C überschrieben haben und D sie nicht überschreibt, welche Klasse der Methode dann D Erben : die von B oder die von C?

Was ist Mehrfachvererbung in C# mit Beispiel?

C# erlaubt nicht Mehrfachvererbung mit Klassen, kann aber über die Schnittstelle implementiert werden. Der Grund dahinter ist: Mehrfachvererbung Fügen Sie zu viel Komplexität mit geringem Nutzen hinzu. Die Wahrscheinlichkeit, dass ein Mitglied der Basisklasse in Konflikt steht, ist groß. Nachlass mit Schnittstelle bietet die gleiche Aufgabe von Mehrfachvererbung.

Empfohlen: