Bonjour,

Dans le cadre d'un TD de Java, j'aurais voulu coder un truc joli mais au final ça marche pas exactement comme je voudrais. Exemple de définition des classes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class A {}
class B extends A {}
class C extends A {}
class D extends A {}
Avec une interface :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
interface exemple {
    void methode(A param)
}
Et un code final :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
class Prog implements exemple  {
    void methode(B param);
    void methode(C param);
    void methode(A param);
}
Je sous obligé d'utiliser les interfaces pour gérer des événements (c'est dans le sujet), et je souhaiterais que lorsque j'appelle la méthode "methode" de la classe Prog, il exécute celle qui va bien : la première si param est de type B, la seconde si param est de type C, et la dernière dans tous les autres cas (pour respecter l'interface).

Seulement, dans tous les cas, il utilise la troisième classe, peu importe que param soit de type A, B ou C. Je bloque.

Avez-vous une solution ? Ce genre de problèmes est-il surmontable ?

Merci.