didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
23 avril 2008 à 19:10
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
24 avril 2008 à 12:26
Bonjour à tous, ...
Est ce que vous pourriez m'en dire plus sur le fait qu'on soit obligé d'écrire toutes les méthodes d'une interface lorsqu'on se sert de celle ci. Par exemple, j'ai créer une interface contenant plusieurs méthodes (public void xxx ();) et j'aimerais ne pas être contraint de toutes les reécrires lorsque je me sers de l'interface en question (surtout lorsque je n'ai besoins que d'une ou deux de ces méthodes).
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 avril 2008 à 20:40
Salut,
C'est le principe des interfaces : il s'agit d'un contrat à respecter afin de pouvoir l'utiliser dans toutes les situations. Il s'agit du principe de l'encapsulation : un utilisateur n'a besoin de connaitre que l'interface et non l'implémentation (ou les implémentations).
______________________________________
DarK Sidious
indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 200822 24 avril 2008 à 08:45
Salut,
Souvent, on hérite de classes implémentant des interfaces, et il arrive que nous ne déclarions que certaines méthodes. Cela est normale car souvent ce sont des classes abstraites. Si tu ne veux pas tout implémenter, essai de voir si il n'existe pas une classe abstraite ayant implémenter une partie, ou une classe ayant tout impélementer, et tu surcharges certaines méthodes.
Sinon, tu seras forcement obligé de déclarer toutes ces méthodes car comme l'a justement dit Darksidious, c'est un contrat, un peu comme les fichiers .h en C/C++
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 24 avril 2008 à 09:52
Salut:
Utilises le patron [Adapter] qui offre une implémentation par défaut des méthodes d'une interface.
En Swing, toutes les [Listeners] qui sont des interfaces ont des adaptateurs (sauf bien sur ActionListener qui contient une seule méthode).
public interface I {
public void doTaskX();
public void doTaskY();
}
public class IAdapter implements I {
public void doTaskX() {}
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 24 avril 2008 à 10:51
Salut:
[auteur/INDIANAJULES/242730.aspx indiana_jules] >> "essai de voir si il n'existe pas une classe abstraite ayant implémenter une partie, ou une classe ayant tout impélementer".
C'est une très bonne démarche.
Vous n’avez pas trouvé la réponse que vous recherchez ?
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 24 avril 2008 à 11:48
Merci à vous, ..
Je penses que je vais créer ma propre classe abstraite (puisque j'ai créer l'interface en question parce que je ne la trouvais pas .. ) ou utiliser la méthode de Ombitious_Developper.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 24 avril 2008 à 12:26