Facewindu a écrit :
Parce que instanceof est considéré comme du bad programming. Je lis partout que si on compte l'utiliser, c'est que le design est pas bon.
Mais là, je vois pas comment changer mon design.
Enfin, si, je vois bien un truc.
définir dans A les méthodes que je veux appliquer à mes objets B et C.
Et les surcharger dans B et C.
Du coup, je bosse avec ma list globale (qui contient des A, des B, et des C).
Un truc du genre :
class A {
execute(){
//rien du tout
}
}
class B extends A {
execute(){
ce que je veux faire avec les objets B
}
}
class C extends A{
execute(){
ce que je veux faire avec les objets C
}
}
Et ensuite quand j'ai ma liste globale, je fais execute() sur tous les éléments. SI c'est juste un A, il fait rien, si c'est un B ou un C il fait la methode exectue de B ou C
|