Partage
  • Partager sur Facebook
  • Partager sur Twitter

Implémenter ou hériter une interface?

Quelle différence si l'interface est hériter de sa classe mère ?

Sujet résolu
    26 novembre 2014 à 18:18:12

    Bonsoir,

    Je ne sais pas si je saurai bien exprimer ma question. Merci d'avance à ceux qui voudront bien m'aider.

    Si j'ai dans mon application une classe mère "M" et ses deux classes filles "A" et "B". Je voudrais faire implémenter à ces classes une interface "I".

    Ma question est:

    Si je fait " public class M implements I" et je redéfini les méthodes implémentées par la classe M dans ces classes fille

    ou

    je fait implémenter l'interface directement par les classes filles, : "public class A extends M implements I" et " public class B extends M implements I" sachant que la classe M aussi a cette méthode.

    Y'a t-il une différence?  Quelle est la meilleur solution conceptuellement?

    Merci,

    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2014 à 21:50:43

      Bonsoir.

      Cela dépend du context !

      • Si tu fais M implements I :
        Tes 2 classes A et B seront "de type I", mais il faut être certain que les futures classes qui hériteront de M pourront implémenter I, et que cela aura du sens !
        L'avantage est que tu n'implémentera qu'1 seule fois les méthodes de I : dans M.
      • Si tu fais A extends M implements I, idem sur B :
        Toutes les classes héritant de M n'ont pas l'obligation d'implémenter I.
      • Partager sur Facebook
      • Partager sur Twitter
      Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
        30 novembre 2014 à 19:29:04

        Bonsoir,

        Merci pour ta réponse. Donc, si j'ai bien compris, on peut faire implémenter l'interface au niveau de l'héritage où il serait utile de l'implémenter par la classe et toutes ses descendantes.

        • Partager sur Facebook
        • Partager sur Twitter

        Implémenter ou hériter une interface?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown