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中文网
Freigeben: 2023-03-05 16:52:01
Original
1443 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:\PHPProjects\test.php on line 14
Nach dem Login kopieren


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