Partage
  • Partager sur Facebook
  • Partager sur Twitter

l'utilité des Interfaces en java

A quoi servent-elles ?

Sujet résolu
    21 janvier 2018 à 11:15:43

    Bonjour à tous,

    En lisant le cours de JAVA je suis arrivé à la partie sur les Interfaces, mais je ne comprends pas à quoi elles servent, j'ai vu qu'elles sont totalement abstraites et permettent ainsi d'être réutilisée, cependant il existe déjà les classes abstraites non ? Alors je ne vois vraiment pas quand les utiliser (je veux dire leur utilité :o) une personne pour m'expliquer s'il vous plaît car dans les différents cours je n'ai pas trouvé de réelle réponse !

    Merci D'avance et Bonne Journée 

    • Partager sur Facebook
    • Partager sur Twitter
      21 janvier 2018 à 18:30:26

      Bonjour,

      Voilà une très bonne question (que je pose lors des entretiens pour un poste de développement).

      Les interfaces ne font que définir un contrat (même si avec Java 8 ce n'est plus tout à fait vrai).

      Mais une classe abstraite aussi vas-tu me répondre.

      Mais petit rappel sur les fondements de Java: java ne supporte pas l'héritage multiple ! Donc une classe ne peut hériter (extends) que d'une seule classe abstraite, mais peut implémenter (implements) autant d'interface que l'on veut.

      Donc dans du code 'fermé' (qui ne va pas être publié pour être réutilisé par d'autres développeurs: donc pas un framework, ...) tu maîtrises l'arbre d'héritage (au moins au moment du design) tu peux utiliser les classes abstraites sans te poser de question. Par contre si tu dois mettre ton code à disposition d'autres développeurs, ou que ton développement puisse être évolutif, il est recommandé d'utiliser des interfaces, au moins pour toutes les apis.

      De plus, avec Java 8, tu peux ajouter des implémentations par défaut de méthodes, ce qui les rend plus proches des classes abstraites, et permet d'introduire un semblant d'héritage multiple en Java

      J'espère que c'est plus clair, et que cela répond à ta question

      • Partager sur Facebook
      • Partager sur Twitter
        21 janvier 2018 à 19:47:09

        JDesm a écrit:

        Voilà une très bonne question (que je pose lors des entretiens pour un poste de développement).

        A chaque fois, j'y ai eu le droit haha !



        • Partager sur Facebook
        • Partager sur Twitter
          21 janvier 2018 à 21:15:07

          Eh bien maintenant tu sauras ce que veux entendre la personne que tu auras en face de toi ^^
          • Partager sur Facebook
          • Partager sur Twitter
            21 janvier 2018 à 23:11:39

            Bonsoir à tous, 

            Merci d'avoir pris le temps de me répondre, je pense effectivement comprendre la nuance entre les deux maintenant et je saurais ainsi quand est-ce qu'il est préférable d'utiliser une interface ou une classe abstraite !

            Merci beaucoup et bonne soirée :)

            • Partager sur Facebook
            • Partager sur Twitter

            l'utilité des Interfaces en java

            × 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