Utilisation du type dynamique des objets
Bonjour,
Je me retrouve confronter à un problème que je n'arrive pas à résoudre.
Voici la structure de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public class A {
}
public class B1 extends A {
}
public class B2 extends A {
}
public interface I<E extends A> {
public void method(E param);
}
public abstract class K<E extends A> implements I<E> {
}
public class C1 extends K<B1> {
public void method(B1 param) {
}
}
public class C2 extends K<B2> {
public void method(B2 param) {
}
}
public class D {
public void d() {
// La method getK() retourne un objet de type K (c'est-à-dire de type C1 ou C2)
// La method getA() retourne un objet de type A (c'est-à-dire de type A, B1 ou B2)
getK().method(getA()); // comment faire pour que ça marche ?
}
} |
Je souhaite appeler une méthode sur un objet dont je connais le type et avec un paramètre dont je ne connais pas non plus le type.
Quelle solution s'offre à moi ?
Merci d'avance