php面向对象基本概念(Final关键字)

来源:互联网 发布:银行网络银行现状 编辑:程序博客网 时间:2024/05/21 16:11

如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

<?phpclass  BaseClass  {   public function  test () {       echo  "BaseClass::test() called\n" ;   }      final public function  moreTesting () {       echo  "BaseClass::moreTesting() called\n" ;   }}class  ChildClass  extends  BaseClass  {   public function  moreTesting () {       echo  "ChildClass::moreTesting() called\n" ;   }}// Results in Fatal error: Cannot override final method BaseClass::moreTesting()不能覆盖Final方法?> 

<?phpfinal class  BaseClass  {   public function  test () {       echo  "BaseClass::test() called\n" ;   }       // 这里无论你是否将方法声明为final,都没有关系    final public function  moreTesting () {       echo  "BaseClass::moreTesting() called\n" ;   }}class  ChildClass  extends  BaseClass  {}// 产生 Fatal error: Class ChildClass may not inherit from final class (BaseClass)不能被继承Final类?> 


0 0