Home > Article > Backend Development > Things to note when php abstract classes inherit abstract classes, object-oriented learning
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 result:
Fatal error: Can't inherit abstract function User::setSal() (previously declared abstract in VipUser) in E:\PHPProjects\test.php on line 14
Conclusion: Abstract class inherits abstract class for the purpose of extending abstract class.
<? 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