(05-06-2015, 06:15 PM)Xenos a écrit : Juste pour être sûr: ton exemple, niahoo, il est pas en East, puisque areYou* return un booléen?
Pardon, mes fonctions sont mal nommées, on attend bien que le beggar appelle par derrière
beggarIsAWoman
par exemple, et les areYou sont en fait des "askIf".(05-06-2015, 06:01 PM)srm a écrit : C'est quoi la meilleure méthode pour toi alors ?
Il faut en fait déjà savoir si bon dit que Beggar est une femme parce que l'on veut qu'il puisse gérer les messages comme une Women ou parce qu'on veut cette information juste pour lui donner plus d'or. Si c'est juste pour lui donner plus d'or alors c'est une propriété privé de Beggar et elle n'implémente pas Women. Dans ce cas ma solution était bonne.
Et si on a vraiment besoin d'autant d'informations de Beggar pour prendre une décision il faut peut être penser le code autrement
Pour moi la meilleure methode, je ne sais pas. Je n'essaie pas de voir si East fonctionne ou non, j'essaie de voir comment on peut le faire fonctionner sur le cas qu'à posé Xenos. Mais je suis débutant.
L'interface Beggar sert à demander des thunes. Donc si on lui demande si c'est une Woman dans ce cadre là, c'est clairement (amha) parce que ça influe sur le don de thunes. Et on veut clairement savoir si l'objet implémente Woman. Effectivement il y a un glissement sémantique car on se fout d'avoir une interface Woman ou non et donc on peut oublier les instanceof. Mais ça revient au même avec une propriété
bool isWoman()
des objets Beggar
au fond. ma proposition fonctionne tout de même.
De quelles solution de ta part parles-tu, qui fonctionnait ?