Sommaire

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 ...