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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Les interfaces - utilités ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Les interfaces - utilités ?

n°2348920
Vibidoo
Posté le 21-03-2020 à 14:08:20  profilanswer
 

Bonjour ,  
 
je profite du confinement pour 'avancer' dans les bases de C-Sharp , je suis plutôt du genre à relire plusieurs fois avant de comprendre  :cry:  
 
Concernant les interfaces :  
 
Je comprends comment utiliser une ou des interfaces, mais à mon stade je n'en comprends pas l'utilité.
 
Sur les 2 exemples suivant  
 
https://www.tutorialspoint.com/csha [...] rfaces.htm
et  
https://openclassrooms.com/fr/cours [...] interfaces
 
On peut tout simplement lancer les méthodes même sans interfaces !  
 
Avez vous d'autres exemples à me proposer, qui puissent me faire comprendre l'utilité des interfaces ?  
 
merci d'avance.  


---------------
Contribuables associés - Arretons les dérives
mood
Publicité
Posté le 21-03-2020 à 14:08:20  profilanswer
 

n°2348923
Vibidoo
Posté le 21-03-2020 à 14:35:39  profilanswer
 

dans cette autre exemple  
 
https://www.geeksforgeeks.org/c-sharp-interface/
deux class héritent la même interfaces , c'est un peu plus parlant pour moi.  
sauf que j'aurais  nommé les méthodes différemment  :heink:  


---------------
Contribuables associés - Arretons les dérives
n°2349008
TotalRecal​l
Posté le 21-03-2020 à 23:11:26  profilanswer
 

Par exemple :

 

Une interface c'est pour introduire une idée d'abstraction. Tu désignes ce que va faire ta classe, par la signature de la méthode, mais sans dire comment elle va le faire. C'est une sorte de contrat.

 

Comme ça, si tu veux qu'une même chose puisse être faite de différentes façons, tu changes juste la classe qui réalise l'interface, alors que le code qui appelle cette interface n'aura pas du tout besoin d'être modifié.

 

C'est le cas le plus trivial à comprendre.

 

Si tu regardes les classes abstraites et le polymorphisme, l'utilité des interfaces te paraitra plus évidente.

Message cité 1 fois
Message édité par TotalRecall le 21-03-2020 à 23:12:07

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2349039
Vibidoo
Posté le 22-03-2020 à 13:17:28  profilanswer
 

merci pour ta réponse, je vais voir dans cette direction

TotalRecall a écrit :


 
Si tu regardes les classes abstraites et le polymorphisme, l'utilité des interfaces te paraitra plus évidente.


 


---------------
Contribuables associés - Arretons les dérives
n°2349123
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-03-2020 à 11:48:27  profilanswer
 

Regarde le livre "Head First Design Patterns", c'est un livre très didactique grâce auquel tu percuteras de suite grâce à des exemples concrets et très parlants.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2352478
Vibidoo
Posté le 24-04-2020 à 20:34:56  profilanswer
 

bonsoir,  
j'avais laché le forum , merci pour ton retour, entre temps je me suis payé  
Pro C# 7' by Andrew Troelsen and Philip Japikse et j'arrive à peu près à comprendre l'utilité  :)


---------------
Contribuables associés - Arretons les dérives
n°2373745
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-01-2021 à 15:05:28  profilanswer
 

Le gros intérêt, c'est quand tu vas avoir besoin depuis un code "global" d'exécuter des méthodes sur des classes spécialisées très différentes.
 
Un très bon exemple, c'est IComparable
 
N'importe quelle classe peut (devrait ?) implémenter cette interface, qui permet par exemple d'ordonner une liste d'objet en appelant simplement la méthode du List<T>.Sort()

n°2373962
isa1ko
ex- isamu1024
Posté le 15-01-2021 à 10:59:26  profilanswer
 

Harkonnen a écrit :

Regarde le livre "Head First Design Patterns", c'est un livre très didactique grâce auquel tu percuteras de suite grâce à des exemples concrets et très parlants.


 
 
oui il est excellent pour démarrer :)trouvable sans grande difficulté en français sur la toile ;)

n°2387291
djinto
Posté le 05-06-2021 à 12:05:32  profilanswer
 

Le design de code c'est des choix.
 
L'utilisation des interfaces, est justifié par :
- un code en gros volume. ( 1 milliers de lignes ... 10 milliers )
- des Types communs dans les traitements à réaliser. ( des objets partout , des tableaux partout , des integers partout , par exemple ).
 
 
Et c'est pour ça que les interfaces existent, et proposent des méthodes intégrées, des standards d'utilisation.
 
C'est des 'outils' "ready to fire", c'est garanti sans erreur lors de l'utilisation.
Bien qu'une bonne gestion de tableaux Array<Type T>, avec un 'tri à bulle' dans une copie de ce tableau, pour 1 ou N colonnes. ça se codes trankilou à un moment.
 
 
Mais le principal est le 0 bug vers la fin du dev,
c'est toujours pratique, et bienvenu.
 
 
Les mots-clés, dans tout les languages, sont trés florissants.
Et c'est vraiment les "méthodes" de ces abstractions ( que ce soit 'interface' / await / async ) qui font que ce sera utile. ou pas.
 
Il faut éviter les confusions et usages à la va vite,
et placer les interfaces au bon endroit de son code.
Une interface peut faire tellement de chose dans un code..
Cherchez le 'ground' de votre code, plutot que d'écrire 'interface' juste une fois parceque vous n'avez pas pu faire autrement.


---------------
Nom : Prénom : Age : Adresse : Ville : Code Postal : Num Trois Tel
n°2387299
Je@nb
Kindly give dime
Posté le 05-06-2021 à 13:26:57  profilanswer
 

je sais pas ce que tu fumes mais ça a l'air pas mal

mood
Publicité
Posté le 05-06-2021 à 13:26:57  profilanswer
 

n°2387300
TotalRecal​l
Posté le 05-06-2021 à 14:05:00  profilanswer
 

Globalement ca sonne assez juste mais il y a des phrases bien obscures et plein de trucs mélangés :lol:


Message édité par TotalRecall le 05-06-2021 à 14:05:32

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2388941
rufo
Pas me confondre avec Lycos!
Posté le 23-06-2021 à 17:23:18  profilanswer
 

"Cherchez le 'ground' de votre code, plutot que d'écrire 'interface' juste une fois parceque vous n'avez pas pu faire autrement."
Qui a compris cette phrase ?  :pt1cable:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2388951
TotalRecal​l
Posté le 23-06-2021 à 17:58:35  profilanswer
 

Tu suggères dire que tout ce qui précède était clair ? :o


Message édité par TotalRecall le 23-06-2021 à 17:58:43

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2388952
rufo
Pas me confondre avec Lycos!
Posté le 23-06-2021 à 18:25:22  profilanswer
 

Avec le décodeur "jovalise", ça se comprend à peu près.  :whistle:  
Par contre, sur la dernière phrase, le décodeur a boggué.


Message édité par rufo le 23-06-2021 à 18:25:34

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2391100
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-07-2021 à 19:07:11  profilanswer
 

Désolé pour le déterrage, mais je pige pas de quoi parle djinto.
 
Outre le cannabinol qui suinte de son message, il ne confond pas un peu les interfaces... avec des méthodes privées/scelées ?
 
Parce que dire qu'une interface "peut faire tellement de choses" et "c'est des outils ready to fire" je pige pas.
 
C'est l'inverse d'une interface... qui à la base est une coquille vide, qui ne fait rien d'autre qu'imposer un certain nombre de signatures de méthodes dans les classes dérivées... Ou alors j'ai raté un truc :pt1cable:

n°2391112
rufo
Pas me confondre avec Lycos!
Posté le 16-07-2021 à 20:55:01  profilanswer
 

Je crois que c'est ce qu'il sous-entendait par "ready to fire" (coquille vide mais signature prête à être utilisée).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Les interfaces - utilités ?

 

Sujets relatifs
Polymorphisme et intérêt des interfaces[JEE] Passer d'interfaces distantes à locales
Lister les interfaces réseau physiquesLes interfaces
[C++ et C] Lister les interfaces réseau d'un PC [resolu]Vous n'avez pas d'interfaces, en C++ ?
Logiciel pour design des interfaces fictives[Résolu] Application avec multiples interfaces graphiques
Problème Axis/Java/Web ServicesRéalisation d'interfaces graphiques en C
Plus de sujets relatifs à : Les interfaces - utilités ?


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