Heim >Backend-Entwicklung >PHP-Tutorial >Was Sie beachten sollten, wenn abstrakte PHP-Klassen abstrakte Klassen erben, ist objektorientiertes Lernen

Was Sie beachten sollten, wenn abstrakte PHP-Klassen abstrakte Klassen erben, ist objektorientiertes Lernen

PHP中文网
PHP中文网Original
2017-02-10 14:24:021468Durchsuche

Wenn eine abstrakte Klasse eine andere abstrakte Klasse erbt, kann die abstrakte Methode der abstrakten übergeordneten Klasse in der abstrakten Klasse nicht überschrieben werden. Eine solche Verwendung kann als Erweiterung abstrakter Klassen verstanden werden.

Das folgende Beispiel zeigt, dass es nicht erforderlich ist, die abstrakte Methode zu überschreiben, wenn eine abstrakte Klasse von einer anderen abstrakten Klasse erbt.

<?
abstract class User 
{
    protected $sal = 0;  
 
    abstract function getSal();
    abstract function setSal($sal);  
}
abstract class VipUser extends User {
    
}
?>

Nachdem eine abstrakte Klasse geerbt wurde, können ihre abstrakten Methoden nicht überschrieben werden. Wenn es zu einem Überschreiben kommt, meldet das System einen Fehler.

<?
abstract class User 
{
    protected  $sal = 0;  
 
    abstract function getSal();
    abstract function setSal($sal);
}
abstract class VipUser extends User 
{
    abstract function setSal();
}
?>

Ergebnisse der Programmausführung:

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


Schlussfolgerung: Abstrakte Klasse erbt abstrakte Klasse, um die abstrakte Klasse zu erweitern.

<?
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();   
}
?>

Der obige Code erweitert die Methode der übergeordneten Klasse


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn