扫码一下
查看教程更方便
final
在 PHP5 中新增加了 final 关键字,它可以在类或类中成员方法前使用,但是不能用来修饰成员属性。final 的中文含义是最终的、最后的,所以使用 final 修饰的类可以称为“最终类”,使用 final 修饰的成员方法可以称为“最终方法”。
其语法格式如下:
final class 类名{ // 最终类
... ... ;
}
final function 方法名(){ // 最终方法
... ... ;
}
final 关键字的作用如下:
Final 方法示例
<?php
class 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 类示例
<?php
final 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,只有类和方法才能被定义为 final。