106 votes

Pourquoi une interface ne peut-elle pas implémenter une autre interface ?

Ce que je veux dire, c'est que :

interface B {...}

interface A extends B {...} // allowed  

interface A implements B {...} // not allowed

J'ai cherché sur Google et j'ai trouvé este :

implements désigne la définition d'une implémentation pour les méthodes d'une interface. Cependant, les interfaces n'ont pas d'implémentation, donc ce n'est pas possible.

Cependant, l'interface est une classe 100% abstraite, et une classe abstraite peut implémenter des interfaces (classe 100% abstraite) sans implémenter ses méthodes. Quel est le problème lorsqu'elle est définie comme "interface" ?

En détail,

interface A {
    void methodA();
}

abstract class B implements A {} // we may not implement methodA() but allowed

class C extends B {
   void methodA(){}
} 

interface B implements A {} // not allowed. 
//however, interface B = %100 abstract class B

0voto

Sahil Points 47

L'interface est comme une abstraction qui ne fournit aucune fonctionnalité. Elle n'implémente donc pas mais étend les autres abstractions ou interfaces.

-7voto

Sundeep Points 1

L'interface est une classe qui contient une méthode abstraite qui ne peut pas créer d'objet, puisque l'interface ne peut pas créer d'objet et qu'il ne s'agit pas d'une classe pure.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X