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

 



Dernière réponse
Sujet : interface en java
openlowcode

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


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
openlowcode

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

Harkonnen

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

openlowcode 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".
desperatix Je pense que je devrais penser plus maintenable si je veux comprendre, merci.
a+
bidem 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.

desperatix 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)
desperatix 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)
desperatix 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)
SICKofitALL 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
desperatix 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

Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR