1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?php
class Chien
{
protected function aboyer()
{
return 'Je suis un chien.';
}
public function identifier()
{
// "Late binding", littéralement "compilation tardive", vient du fait
// que cette méthode static:: (ci-dessous) est résolue en utilisant
// la classe qui a créé l'objet. Si la méthode est inexistante,
// PHP la cherche dans la classe parente la plus proche.
return static::aboyer();
}
}
class Chien_Labrador extends Chien
{
protected function aboyer()
{
return 'Je suis un labrador donc je ne mord pas.';
}
}
$médor = new Chien();
$félix = new Chien_Labrador();
echo $médor->identifier().'<br/>';
echo $félix->identifier().'<br/>';
?> |