Choses à noter lorsque les classes abstraites PHP héritent de classes abstraites, apprentissage orienté objet

PHP中文网
Libérer: 2023-03-05 16:52:01
original
1427 Les gens l'ont consulté

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 {
    
}
?>
Copier après la connexion

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();
}
?>
Copier après la connexion

Résultats de l'exécution du programme :

Fatal error: Can&#39;t inherit abstract function User::setSal() (previously declared abstract in VipUser) in E:\PHPProjects\test.php on line 14
Copier après la connexion


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();   
}
?>
Copier après la connexion

Le code ci-dessus étend la méthode de la classe parent


source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!