Manuel PHP
Précédent | Chapitre 13. Les classes et les objets | Suivant

# `extends` : héritage

Souvent, vous aurez besoin d'une classe avec des méthodes et fonctions similaires à une autre classe. En fait, il est bon de définir des classes génériques, qui pourront être réutilisées et adaptées à tous vos projets. Pour faciliter cela, une classe peut être une extension d'une autre classe. La classe dérivée hérite alors de toutes les méthodes et variables de la classe de base (cet héritage a ça de bien que personne ne meurt pour en profiter), mais peut définir ses propres fonctions et variables, qui s'ajouteront. Une classe ne peut hériter que d'une seule autre classe, et l'héritage multiple n'est pas supporté. Les héritages se font avec le mot clé 'extends'.

    <?php
    class Caddie_nomme extends Caddie {
        var $owner;
        function set_owner ($name) {
            $this->owner = $name;
        }
    }
    ?>

L'exemple ci-desssus définit la classe Caddie_nomme qui possède les même variables que la classe Caddie et la variable $owner en plus, ainsi que la fonction set_owner(). Vous créez un panier nominatif de la même manière que précédemment, et vous pouvez alors affecter un nom au panier ou en connaître le nom. Vous pouvez de toutes les façons utiliser les même fonctions que sur un panier classique.

    <?php
    $ncart = new Caddie_nomme;    // Création d'un panier nominatif
    $ncart->set_owner ("kris"); // Affectation du nom du panier
    print $ncart->owner;        // Affichage du nom du panier
    $ncart->add_item ("10", 1); // (héritage des fonctions de la classe père)
    ?>

Précédent | Sommaire | Suivant
Les classes et les objets | Niveau supérieur | `Constructor` : constructeur