Sobes.tech
Junior

Qu'est-ce que l'extension (extend) dans le contexte de PHP?

sobes.tech IA

Réponse de l'IA

L'extension, ou héritage, en PHP est un mécanisme permettant à une classe (classe enfant ou sous-classe) d'hériter des propriétés et méthodes d'une autre classe (classe parente ou de base).

Le mot-clé extends est utilisé pour indiquer la classe parente.

Avantages de l'héritage :

  • Réutilisation du code : Il n'est pas nécessaire d'écrire le même code plusieurs fois.
  • Extensibilité : La classe enfant peut ajouter de nouvelles propriétés et méthodes, ou redéfinir celles existantes de la classe parente.
  • Polymorphisme : Les objets de différentes classes peuvent être traités comme des objets d'une classe parente commune.

Exemple :

<?php

class Animal {
    public function eat() {
        echo "L'animal mange.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "Le chien aboie.";
    }
}

$dog = new Dog();
$dog->eat(); // Appel de la méthode de la classe parente
$dog->bark(); // Appel de la méthode de la classe enfant

?>

La classe enfant ne hérite pas :

  • Des propriétés et méthodes privées (bien qu'elles existent dans l'objet, elles ne peuvent pas être appelées directement depuis la classe enfant).
  • Le constructeur de la classe parente n'est pas appelé automatiquement lors de la création d'un objet de la classe enfant, sauf si cela est explicitement indiqué avec parent::__construct().