PHP Final关键字的详解

在php5中有个final关键字,它的作用是不让类里面的方法被覆盖 如果类使用final时这个类将不能被继承。

下面是方法的实例

<?php
class BaseClass {
  public function
test() {
      echo
"BaseClass::test() called";
  }
 
  final public function
moreTesting() {
      echo
"BaseClass::moreTesting() called";
  }
}

class
ChildClass extends BaseClass {
  public function
moreTesting() {
      echo
"ChildClass::moreTesting() called";
  }
}


类的实例(不可被继承)

<?php
final class BaseClass {
  public function
test() {
      echo
"BaseClass::test() called";
  }
 
 
// 这里无论你是否将方法声明为final,都没有关系
 
final public function moreTesting() {
      echo
"BaseClass::moreTesting() called";
  }
}

class
ChildClass extends BaseClass {
}
// 产生 Fatal error: Class ChildClass may not inherit from final class (BaseClass)
?>


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论