25:PHP类Final 关键字

Final 关键字

PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

  1. <?php
  2.  class  BaseClass  {
  3.    public function  test () {
  4.        echo  "BaseClass::test() called\n" ;
  5.    }
  6.    final public function  moreTesting () {
  7.        echo  "BaseClass::moreTesting() called\n" ;
  8.    }
  9. }
  10. class  ChildClass  extends  BaseClass  {
  11.    public function  moreTesting () {
  12.        echo  "ChildClass::moreTesting() called\n" ; //会报错:Fatal error: Cannot override final method BaseClass::moreTesting()
  13.    }
  14. }

php Final 关键字

属性不能被定义为 final,只有类和方法才能被定义为 final。

  1. <?php
  2.  final class  BaseClass  {
  3.    public function  test () {
  4.        echo  "BaseClass::test() called\n" ;
  5.    }
  6.     // 这里无论你是否将方法声明为final,都没有关系
  7.     final public function  moreTesting () {
  8.        echo  "BaseClass::moreTesting() called\n" ;
  9.    }
  10. }
  11. class  ChildClass  extends  BaseClass  {
  12. }
  13.  // 产生 Fatal error: Class ChildClass may not inherit from final class (BaseClass)
    A+
发布日期:2017年01月04日 20:15:28  所属分类:PHP教程
最后更新时间:2017-01-04 20:15:28
付杰
  • ¥ 58.0元
  • 市场价:58.0元
  • ¥ 199.0元
  • 市场价:299.0元
  • ¥ 99.0元
  • 市场价:99.0元
  • ¥ 199.0元
  • 市场价:399.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: