Pourquoi Java ne prend pas en charge les héritages multiples ?
Nous allons d'abord comprendre ce qu'est l'héritage ?
L'héritage signifie qu'une méthode est définie une fois et qu'elle peut être utilisée n'importe où sans réécrire à nouveau. Avec l'aide de l'héritage. Nous pouvons atteindre la réutilisabilité.
Qu'est-ce que l'héritage multiple ?
L'héritage est un concept applicable dans la plupart des langages de programmation. Lorsque la classe A est extensible par la classe B et qu'une classe B est extensible par la classe C.
Syntaxe
interface A{ public void a(){ } } interface B extends A{ public void a(){ } } class C implements A,B{ public void c(){ } }
Dans la syntaxe ci-dessus, lorsque nous créerons un objet de classe C, puis à l'aide d'un objet de classe C, si nous appelons une méthode () avec un objet de classe C, nous obtiendrons une ambiguïté.
Java résout le problème d'ambiguïté à l'aide de l'interface.
Nous ne pouvons pas obtenir d'héritage multiple à l'aide de l'interface car les méthodes d'interface doivent être redéfinies dans chaque classe enfant, mais l'héritage n'a pas besoin d'être redéfini à nouveau, c'est pourquoi nous ne pouvons pas dire que l'interface se comporte comme un héritage multiple.
Exemple
interface A{ public void a(); } interface B extends A{ public void a(); } class InterfaceAB implements A,B{ public void a(){ System.out.println("Interface A a()"); } public static void main(String[] args){ InterfaceAB iab = new InterfaceAB(); iab.a(); } }
Sortie
D:\Java Articles>java InterfaceAB Interface A a()