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