Sommaire

Redéfinition d’une méthode

Revenons à la redéfinition des méthodes.

Pour les méthodes autres que le constructeur, la méthode de la classe fille qui redéfinit la méthode de la classe mère doit avoir la même signature.

Dans notre exemple, il est possible de redéfinir les méthodes ajouterProduit() et supprimerProduit() dans la classe ProduitParLots afin de prendre en compte la propriété $nbArticlesParLots dans le calcul :

class ProduitParLots extends Produit 
{ 
    private $nbArticlesParLot; 
 
    function ajouterProduit() 
    { 
        $this->quantite+=$this->nbArticlesParLot; 
        if($this->quantite>0) $this->rupture=false; 
    } 
 
    function supprimerProduit() 
    { 
        $this->quantite-=$this->nbArticlesParLot; 
        if($this->quantite<=0){ 
            $this->quantite=0; 
            $this->rupture=true; 
        } 
    } 
    // la suite...  ...