J'ai en effet oublié giveGold
C'est mieux ? Tu vois le soucis que ça va avoir ?
interface Hero
{
public function askGold($object);
}
interface Beggar
{
public function meetHero(Hero $hero);
public function giveGold($gold);
}
class Conan implements Hero
{
public askGold($object)
{
if ($object instanceof Beggar) {
$object->giveGold($this->gold/2);
} else if ($object instanceof Kid) {
$object->giveGold($this->gold);
}
}
}
class FrancoisdAssise implements Beggar
{
public function meetHero(Hero $hero)
{
$hero->askGold($this);
}
}
$conan = new Conan();
$francoisdAssise = new FrancoisdAssise();
$francoisdAssise->meetHero($conan);
C'est mieux ? Tu vois le soucis que ça va avoir ?