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 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'.
Exemple 18-8. Héritage de classes
<?php class Panier_nomme extends Panier { var $owner; function set_owner ($name) { $this->owner = $name; } } ?>
|
|
L'exemple ci-dessus définit la classe Panier_nomme
qui possède les mêmes variables que la classe Panier 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êmes fonctions que sur un
panier classique.
Exemple 18-9. Héritage de classes (2)
<?php $ncart = new Panier_nomme; // Création d'un panier nominatif $ncart->set_owner ("kris"); // Affectation du nom du panier echo $ncart->owner; // Affichage du nom du panier $ncart->add_item ("10", 1); // (héritage des fonctions de la classe père) ?>
|
|