Was ist zu beachten, wenn abstrakte PHP-Klassen abstrakte Klassen erben?

高洛峰
Freigeben: 2016-10-17 10:16:31
Original
1361 Leute haben es durchsucht

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 {
     
}
?>
Nach dem Login kopieren

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();
}
?>
Nach dem Login kopieren

Ergebnisse der Programmausführung:

Fatal error: Can&#39;t inherit abstract function User::setSal() (previously declared abstract in VipUser) in E:\PH
Nach dem Login kopieren

Schlussfolgerung: Abstrakte Klassen erben abstrakte Klassen, um abstrakte Klassen 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();   
}
?>
Nach dem Login kopieren

Der obige Code erweitert die Methode der übergeordneten Klasse

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage