POO, notion d’héritage
L’héritage consiste à créer un autre objet (objet enfant) à partir d’une classe existante (parent). La classe enfant hérite, de ce fait, des propriétés et des méthodes de la classe parente.
Extension de classe
Utiliser la syntaxe extends pour étendre une classe mère.
class Animaux{
public $classification = "être vivant<br>";
public function info(){
echo "Je suis un animal";
}
}
class Chien extends Animaux{
public function caracteristique(){
echo "J'aboie <br>";
}
}
$milou = new Chien();
$milou->classification;
echo $milou->classification;
$milou->info();
$milou->caracteristique();
Affichage
être vivant
Je suis un animal
J'aboie
Dans cet exemple, la classe chien récupère automatiquement la propriété et la méthode de la classe mère Animaux. Vous pouvez rajouter d’autres méthodes et d’autres propriétés sur une classe étendue.
Mot réservé ‘parent’
En étant dans la classe étendue, vous pouvez récupérer des informations de la classe de base avec le mot clé parent.
class Animaux{
public $classification = "être vivant<br>";
public function info(){
echo "Je suis un animal";
}
}
class Chien extends Animaux{
public function caracteristique(){
echo "J'aboie <br> ";
parent::info(); // référence à la méthode info() de la classe mère
}
}
$milou = new Chien();
$milou->caracteristique();
Affichage
J'aboie
Je suis un animal