Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1457 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  interface en java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

interface en java

n°2301826
desperatix
Posté le 09-06-2017 à 12:49:08  profilanswer
 

Bonjour,
A quoi sert-t'il de créer une interface en java qui va contenir des en-têtes de méthodes qu'il faudra de toutes manières indiquer à nouveau dans la classe qui va implémenter l'interface, n'est-ce pas redondant ?
Merci

mood
Publicité
Posté le 09-06-2017 à 12:49:08  profilanswer
 

n°2301887
SICKofitAL​L
misanthrope
Posté le 11-06-2017 à 00:42:12  profilanswer
 

C'est un "contrat". On est alors sur que les classes qui implémentent telle ou telle interface disposent bien des méthodes/propriétés prévues.
> https://openclassrooms.com/courses/ [...] id/r-21750


---------------
We deserve everything that's coming...
n°2301953
desperatix
Posté le 13-06-2017 à 01:50:25  profilanswer
 

Merci pour ta réponse.
Je sais que c'est la raison qui est donnée (un contrat),
ce que je ne comprend pas, c'est la raison de passer par une solution externe et ne pas implémenter les méthodes directement dans la classe. La seule raison qui m'apparait un peu, c'est l'ergonomie, mais ça m'a l'air encore plus compliqué comme ça.
Peut être que le mot contrat sous-entend "commercial" ?
Merci, si tu peux me faire avancer (c'est intellectuel, je peux faire avec ou sans interface mais j'aimerais savoir pourquoi il faudrait croire que c'est plus simple)

n°2301954
desperatix
Posté le 13-06-2017 à 01:51:28  profilanswer
 

Merci pour ta réponse.
Je sais que c'est la raison qui est donnée (un contrat),
ce que je ne comprend pas, c'est la raison de passer par une solution externe et ne pas implémenter les méthodes directement dans la classe. La seule raison qui m'apparait un peu, c'est l'ergonomie, mais ça m'a l'air encore plus compliqué comme ça.
Peut être que le mot contrat sous-entend "commercial" ?
Merci, si tu peux me faire avancer (c'est intellectuel, je peux faire avec ou sans interface mais j'aimerais savoir pourquoi il faudrait croire que c'est plus simple)

n°2301955
desperatix
Posté le 13-06-2017 à 01:56:16  profilanswer
 

Merci pour ta réponse.
Je sais que c'est la raison qui est donnée (un contrat),
ce que je ne comprend pas, c'est la raison de passer par une solution externe et ne pas implémenter les méthodes directement dans la classe. La seule raison qui m'apparait un peu, c'est l'ergonomie, mais ça m'a l'air encore plus compliqué comme ça.
Peut être que le mot contrat sous-entend "commercial" ?
Merci, si tu peux me faire avancer (c'est intellectuel, je peux faire avec ou sans interface mais j'aimerais savoir pourquoi il faudrait croire que c'est plus simple)

n°2301995
Bidem
Posté le 14-06-2017 à 13:30:19  profilanswer
 

Un des exemples les plus fréquents d'utilisation d'interface est l'interface List. Il y a des méthodes qui retournent une List donc l'appelant peut utiliser les méthodes de cette interface et n'a pas à connaitre la vrai classe derrière (ArrayList ou LinkedList par exemple)
 
Un autre cas classique est pour les DAO (Data Acces Object).
 
Le fait de définir une interface pour un DAO permet de :
  - pouvoir changer l'implémentation sans impacter l'appelant.
    ex : une implémentation qui lit des données dans un fichier et une autre qui lit ces données dans une base de données
  - utiliser des bouchon pour les tests
 

Citation :

j'aimerais savoir pourquoi il faudrait croire que c'est plus simple


C'est pas plus simple, c'est plus maintenable.


Message édité par Bidem le 14-06-2017 à 13:34:56
n°2302031
desperatix
Posté le 15-06-2017 à 01:39:36  profilanswer
 

Je pense que je devrais penser plus maintenable si je veux comprendre, merci.
a+

n°2333891
openlowcod​e
Posté le 22-05-2019 à 23:14:08  profilanswer
 

Bonjour,
 
la raison principale est que l'on peut utiliser le même code sur tous les objets (potentiellement différents) qui ont une interface.
 
Normalement, c'est une bonne pratique de construire des algorithmes sur des interfaces plutôt que sur des classes. Cela permet d'utiliser l'algorithme dans des contextes différents non prévus au départ. Un bon exemple est l'algorithme (générique) de tri développé par java. Elle marche sur tous les objets de type "Comparable".


---------------
Open Lowcode Github repo
n°2334036
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-05-2019 à 07:09:56  profilanswer
 

desperatix a écrit :

Je pense que je devrais penser plus maintenable si je veux comprendre, merci.
a+


Lis ce livre, et tu comprendras de suite l'utilité des interfaces : https://www.amazon.fr/First-Design- [...] 0596007124


---------------
J'ai un string dans l'array (Paris Hilton)
n°2335271
openlowcod​e
Posté le 17-06-2019 à 07:16:30  profilanswer
 

desperatix a écrit :

Je pense que je devrais penser plus maintenable si je veux comprendre, merci.
a+


 
Une autre raison, que je n'avais pas précisé: cela permet à un même objet d'implémenter plusieurs comportements (exemple dans le monde réel: une tesla est à la fois une voiture et un ordinateur personnel). C'est une des façons que java supporte l'héritage multiple


---------------
Open Lowcode Github repo

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  interface en java

 

Sujets relatifs
Interface graphique application JAVA probléme JAVA: Interface Graphique , l’interaction des boutons
[HTML5] Quels outils pour une interface graphique d'un programme JAVA?Java pour interface graphique audio
[Java]Petit problème interface graphiqueinterface java et codes
Interface javaprobleme java interface graphique
lancer une execution d'un programme a paritr d'une interface javaJAVA Interface graphique
Plus de sujets relatifs à : interface en java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR