Accès à propriété privée de la classe mère

Posted on 17 décembre 2007.

De façon étonnante en PHP, on peut accéder à une propriété privée de la classe mère, depuis la classe fille, en utilisant une méthode non-redéfinie dans la classe fille. Cela reste dans la logique de PHP, puisque la méthode utilisée est celle de la classe mère

</pre><br />
<pre>class Gateau{<br />
        private $nbParts = 6;</p>
<p>    public function vendre($nbParts, $destinataire)<br />
    {<br />
        echo 'Je vends '.$nbParts. ' parts de gâteau à '.$destinataire;<br />
    }</p>
<p>    public function getParts()<br />
    {<br />
        echo ' Mon objet '.__CLASS__.' a '.$this->nbParts. ' parts.';<br />
    }<br />
}</p>
<p>class Tarte extends Gateau{<br />
    private $nbParts = 8;</p>
<p>    public function vendre($nbParts)<br />
    {<br />
    //Je définis une méthode de la classe fille, dont le prototype m'indique<br />
    // que j'ai  plus d'arguments que la mm méthode de la classe mère</p>
<p>    echo 'Je vends '.$nbParts. ' parts de gâteau';<br />
    }<br />
}</p>
<p>$pie = new Tarte;<br />
$pie->vendre(5);<br />
$pie->getParts();// j'accède à la méthode parente, donc au nb de parts de la classe parente</p>
<p>

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...