Lorsqu'une classe abstraite hérite d'une autre classe abstraite, la méthode abstraite de la classe parent abstraite ne peut pas être substituée dans la classe abstraite . Un tel usage peut être compris comme une extension des classes abstraites.
L'exemple suivant démontre que lorsqu'une classe abstraite hérite d'une autre classe abstraite, il n'est pas nécessaire de remplacer la méthode abstraite.
<? abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { } ?>
Une fois qu'une classe abstraite est héritée, ses méthodes abstraites ne peuvent pas être remplacées. En cas d'écrasement, le système signalera une erreur.
<? abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { abstract function setSal(); } ?>
Résultats de l'exécution du programme :
Fatal error: Can't inherit abstract function User::setSal() (previously declared abstract in VipUser) in E:\PHPProjects\test.php on line 14
Conclusion : La classe abstraite hérite de la classe abstraite dans le but d'étendre la classe abstraite.
<? abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { protected $commision = 0; static abstract function getCommision(); abstract function setCommision(); } ?>
Le code ci-dessus étend la méthode de la classe parent