Le nombre d’arguments d’une méthode de la classe fille peut-il être différent ?

Posted on 25 octobre 2007.

PHP propose un modèle d’héritage strict, qui veut que les méthodes re-déclarées dans la classe fille prennent au minimum le même nombre d’argument que la méthode de la classe mère.

class Gateau{
private $nbParts = 6;
public function vendre($nbParts, $destinataire)
{
echo ‘Je vends ‘.$nbParts. ‘ parts de gâteau à ‘.$destinataire;
}

public function getParts()
{
echo ‘ Mon objet ‘.__CLASS__.’ a ‘.$this->nbParts. ‘ parts.’;
}
}

class Tarte extends Gateau{
private $nbParts = 8;
public function vendre($nbParts)
{
//Je définis une méthode de la classe fille, dont le prototype m’indique
// que j’ai plus d’arguments que la mm méthode de la classe mère
echo ‘Je vends ‘.$nbParts. ‘ parts de gâteau’;
}
}
Mais en réalité, PHP me laisse (toujours la souplesse du langage) définir une méthode fille, dont la signature est différente de la méthode de la classe mère qu’elle redéfinit.La réponse est donc : oui.

Make a Comment

Make A Comment: ( None so far )

blockquote and a tags work here.

Liked it here?
Why not try sites on the blogroll...