Médiaforma

PHP MySQL – Polymorphisme

Print Friendly

La notion de polymorphisme est assez abstraite et peu utile en PHP. Elle découle de la notion d’héritage. Supposons qu’une classe Laser et trois classes dérivées CD, DVD et Blue aient été définies. Les trois classes dérivées ont toutes les caractéristiques de la classe Laser. Ainsi, des objets de type CD, DVD et Blue peuvent être traités comme des objets de type Laser. Cependant, il est possible de surcharger les méthodes d’instance de la classe parente afin d’induire des comportements spécifiques aux classes dérivées.

class Laser {
  public function caracteristiques() {
    echo "Disque laser<br>";
  }
}
class CD extends Laser{
  public function caracteristiques() {
    parent::caracteristiques();
    echo "Capacité : 700 Mo<br>";
  }
}
class DVD extends Laser {
  public function caracteristiques() {
    parent::caracteristiques();
    echo "Capacité : 4,7 Go<br>";
  }
}
class Blue extends Laser {
  public function caracteristiques() {
    parent::caracteristiques();
    echo "Capacité : 25 Go<br>";
  }
}

Sans entrer dans le détail du code, vous pouvez comprendre que les classes héritées CD, DVD et Blue surchargent la méthode publique caracteristiques de la classe parente laser. Elles conservent le comportement de la méthode parente (parent::caracteristiques();) et la complètent avec des informations qui leur sont spécifiques.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply