用final 声明的方法不能被子类所覆盖,用final声明的类不能被继承,final不能声明属性
用final声明方法
<?php
class BaseTest{
final public function testing(){
echo "BaseTest::testing()";
}
}
class Test extends BaseTest{
public function testing(){
echo "Test::testing()";
}
}
$test = new Test();
//错误提示:Fatal error: Cannot override final method BaseTest::testing()
用final声明类
<?php
final class BaseTest{
public function testing(){
echo "BaseTest::testing()";
}
}
class Test extends BaseTest{
public function testing(){
echo "Test::testing()";
}
}
$test = new Test();
//错误提示:Fatal error: Class Test may not inherit from final class (BaseTest)