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'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