Héritage multiple en C#
Dans l’héritage multiple, une classe peut avoir plusieurs superclasses et hériter des fonctions de toutes ses classes parentes. Comme indiqué dans la figure ci-dessous, la classe C hérite des fonctionnalités des classes A et B.

Class A { myFunction(){}}
Class B { myFunction(){}}
Class C : A, B{}
Mais C# ne prend pas en charge l’héritage multiple. Pour surmonter ce problème, nous utilisons des interfaces afin de réaliser l’héritage multiple. A l’aide d’une interface, la classe C peut obtenir les fonctionnalités des classes A et B.
interface A { myFunction(){}}
interface B { myFunction(){}}
Class C : A, B{}
Dans le cas ci-dessus, la classe ne consomme pas les membres de l’interface. Il ne s’agit que d’implémenter les membres de l’interface.
Exemple: Héritage multiple en C#
using System;
public interface A {
void Display();
}
public interface B {
void Display();
}
class C: A, B {
public void Display() {
Console.WriteLine("La méthode Display est implémentée");
}
}
public class WayToLearnX {
public static void Main(string[] args) {
C c = new C();
c.Display();
A a = new C();
a.Display();
B b = new C();
b.Display();
}
}
La sortie :
La méthode Display est implémentée La méthode Display est implémentée La méthode Display est implémentée





