cs_Kite37
Messages postés242Date d'inscriptionlundi 6 mars 2006StatutMembreDernière intervention17 janvier 2018
-
23 avril 2009 à 23:38
cs_Kite37
Messages postés242Date d'inscriptionlundi 6 mars 2006StatutMembreDernière intervention17 janvier 2018
-
4 mai 2009 à 22:45
Bonjour,
Je suis en pleine migration VB.NET / C# et quelques chose m'interpelle un peu.
En effet, dans les ouvrages que j'ai (et sur de nombreuses références web) je trouve des sujets traitant d'interface et de classes abstraites.
Or, les deux fonctionnent exactement pareil, d'où ma question : quelles sont les différences entre les deux? dans quel cas utiliser les interfaces et dans quel cas les classes abstraites?
Cordialement,
KiTe.
A voir également:
Classe abstraite vs interface
Différence entre classe abstraite et interface - Meilleures réponses
Différence classe abstraite et interface - Meilleures réponses
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 24 avril 2009 à 09:23
Désolé pour mon oubli lors de la frappe:
"Rien ne sert d'essayer quelque chose qui est déjà très bien expliquée :"
=>
"Rien ne sert d'essayer d'expliquer quelque chose qui est déjà très bien expliquée :"
Bonne journée,
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 24 avril 2009 à 10:36
Pour résumer :
tu utilises une interface des que tu le peux.
Pas de dérivation multiple, donc si tu hérites d'une classe abstraite, tu ne pourras dériver de rien d'autre.
en revanche, une interface ne peux contenir aucune implémentation de méthode (donc pas de méthode protected dans une interface, et tu ne peux avoir que des méthodes publiques).
Sachant que ce n'est que résumé pour donner l'idée de l'interet de l'un ou l'autre dans les cas standard, je te conseille de tout de meme lire les liens de billou...(entre implémentations explicites et autres subtilités qui font que si y'a plusieurs pages de doc, cest bien parce qu'on peut pas se contenter de résumer en deux lignes)
cs_Kite37
Messages postés242Date d'inscriptionlundi 6 mars 2006StatutMembreDernière intervention17 janvier 2018 24 avril 2009 à 11:08
J'avais déjà lu les pages MSDN en fait.
Donc en gros le seul avantage des interfaces est de pouvoir faire une sorte d'héritage multiple .. mais dont on doit réécrire les méthodes. Donc quelle utilisé de se lier a une interface si il faut tout réécrire? c'est un peu inutile ...
Pour les classes abstraites pas de soucis j'ai bien compris en revanche.
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
cs_Kite37
Messages postés242Date d'inscriptionlundi 6 mars 2006StatutMembreDernière intervention17 janvier 2018 4 mai 2009 à 22:45
Merci bien à vous tous pour vos réponses.
En allant de lien en lien sur ceux que vous m'avez proposés, en lisant des exemples et de la doc je pense que je commence a saisir l'utilité des interfaces.
Toute leur puissance repose donc en fait sur le polymorphisme d'un part ou du fait qu'elles peuvent agir comme un "guide" pour le développement d'une classe.
C'est du moins ce que cela inspire au premier abord même si j'imagine bien les applications auxquelles peuvent servir les interfaces ^^
Cordialement,
KiTe
_________________________________________________
La connaissance est un trésor.