类与对象(PHP5)之十一:最终关键字(Final Keyword)

日期:2006-09-26  作者:喜腾小二  来源:PHPChina


PHP5引入了最终关键字,防止子类使用final从一个重要的方法做定义的前缀。如果类本身已经被定义为final,类将不能被扩展。
例子
19-28.Final方法实例
PHP代码如下:

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
"
;
   }
}
//Results in Fatal error:Cannot override final method BaseClass::moreTesting()
?> 


例子 19-29. Final 类实例
PHP代码如下:

php
final 
class BaseClass 
{    public function test()
     {  
         echo 
"BaseClass::test() called
"
;  
     }
   
//Here it doesn't matter if you specify the function as final or not
   
final public function moreTesting()
   {
       echo
"BaseClass::moreTesting() called
"
;
   }
}
class 
ChildClass extends BaseClass {  }
//Results in Fatal error:Class ChildClass may not inherit from final class (BaseClass)
?> 



<<<返回技术中心

技术文章

站内新闻

我要啦免费统计