Home >Backend Development >PHP Tutorial >Things to note when PHP abstract classes inherit abstract classes

Things to note when PHP abstract classes inherit abstract classes

高洛峰
高洛峰Original
2016-10-17 10:16:311391browse

When an abstract class inherits another abstract class, the abstract method of the abstract parent class cannot be overridden in the abstract class. Such usage can be understood as an extension of abstract classes.

The following example demonstrates that when an abstract class inherits from another abstract class, there is no need to override the abstract method.

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

After an abstract class is inherited, its abstract methods cannot be overridden. If overwriting occurs, the system will report an error.

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

Program running results:

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

Conclusion: Abstract classes inherit abstract classes for the purpose of extending abstract classes.

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

The above code extends the method of the parent class

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn