PHP 抽象类继承抽象类解析

前端之家收集整理的这篇文章主要介绍了PHP 抽象类继承抽象类解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

抽象类继承另外一个抽象类时,抽象类中,不能重写抽象父类的抽象方法。这样的用法,可以理解为对抽象类的扩展。

下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽象方法

  1. <?
  2. abstract class User
  3. {
  4. protected $sal = 0;
  5. abstract function getSal();
  6. abstract function setSal($sal);
  7. }
  8. abstract class VipUser extends User {
  9. }
  10. ?>
  11. # End www.jb51.cc

抽象类在被继承后,其中的抽象方法不能被重写。如果发生重写,系统会报错。

  1. <?
  2. abstract class User
  3. {
  4. protected $sal = 0;
  5. abstract function getSal();
  6. abstract function setSal($sal);
  7. }
  8. abstract class VipUser extends User
  9. {
  10. abstract function setSal();
  11. }
  12. ?>
  13. # End www.jb51.cc

程序运行结果:

  1. Fatal error: Can't inherit abstract function User::setSal() (prevIoUsly declared abstract in VipUser) in E:\PHPProjects\test.PHP on line 14
  2. # End www.jb51.cc

 

结论: 抽象类继承抽象类,目的对抽象类的扩展。

  1. <?
  2. abstract class User
  3. {
  4. protected $sal = 0;
  5. abstract function getSal();
  6. abstract function setSal($sal);
  7. }
  8. abstract class VipUser extends User
  9. {
  10. protected $commision = 0;
  11. static abstract function getCommision();
  12. abstract function setCommision();
  13. }
  14. ?>
  15. # End www.jb51.cc

上述代码就扩展了父类方法

猜你在找的PHP相关文章