04-06-2015, 10:29 PM
Les instanceof dépendent de la logique interne de la méthode hello(). Si cette classe ne veut dire hello() qu'aux filles (oui, bon, ben c'est la condition qui m'est venue à l'esprit devant la TV XD), elle fera son petit $data instanceof Fille en interne.
Pour coder ma classe, je dois effectivement connaitre une chose du monde extérieur: que $data est une variable du langage. C'est tout. Instanceof, c'est une fonction qui interroge cette variable, et qui n'est qu'un genre de "getter" (plutôt un checker).
Ma boite noire, on sait juste qu'elle répond à la méthode hello(mixed $data). Comment elle y répond, c'est un soucis interne.
Je suis d'accord, mais le nom de méthode que tu as choisis n'est pas explicite. C'est au nom de méthode de te dire ce que fait la méthode. Comment elle le fait (à coup d'instanceof ici), c'est son problème interne.
Tu peux reprendre l'exemple simplifié précédent du Barman, le coder en East, et ensuite ajouter la religion? Juste pour pouvoir comparer la quantité de modifications que East va impliquer. Sinon, si tu peux expliciter, comme j'avais demandé, en quoi ajouter des classes et interfaces comme précédemment casserait tout sans que je ne le vois au travers d'un exemple de code, je suis preneur.
Pour coder ma classe, je dois effectivement connaitre une chose du monde extérieur: que $data est une variable du langage. C'est tout. Instanceof, c'est une fonction qui interroge cette variable, et qui n'est qu'un genre de "getter" (plutôt un checker).
Ma boite noire, on sait juste qu'elle répond à la méthode hello(mixed $data). Comment elle y répond, c'est un soucis interne.
Je suis d'accord, mais le nom de méthode que tu as choisis n'est pas explicite. C'est au nom de méthode de te dire ce que fait la méthode. Comment elle le fait (à coup d'instanceof ici), c'est son problème interne.
Tu peux reprendre l'exemple simplifié précédent du Barman, le coder en East, et ensuite ajouter la religion? Juste pour pouvoir comparer la quantité de modifications que East va impliquer. Sinon, si tu peux expliciter, comme j'avais demandé, en quoi ajouter des classes et interfaces comme précédemment casserait tout sans que je ne le vois au travers d'un exemple de code, je suis preneur.