Redéfinition du constructeur de la classe
mère
Le constructeur fonctionne différemment, à savoir
qu’il est possible de redéfinir un constructeur
n’ayant pas la même signature dans la classe fille.
Par exemple, dans la classe ProduitParLots,
on va ajouter le paramètre $nbArticlesParLot, pour
définir cette valeur à l’instanciation
de l’objet. Ce paramètre n’existe
pas dans la définition du constructeur de la classe mère Produit.
Le constructeur de la classe fille est prioritaire.
Mais on souhaite aussi appeler le constructeur de la classe mère.
Pour éviter de dupliquer le code
du constructeur de la classe mère dans celui de la classe
fille, on appelle ce constructeur à l’aide de
l’opérateur de résolution de portée :: et du mot-clé parent.
Syntaxe :
class NomDeMaClasseFille
{
function __construct(parametres classe fille)
{
...
// appel du constructeur de la classe mère
parent::construct(parametres classe mère)
}
}
Dans l’exemple, on peut redéfinir
le constructeur dans ProduitParLots. Voici cette fois le code complet
de la classe ProduitParlots :
<?php
namespace MesProduits;
class ProduitParLots extends ...