PHP5中的最终关键字
PHP5允许您停止扩展类或停止子类覆盖功能。
使用final关键字的第一种方法是在创建子类时阻止子类覆盖它们。这可用于阻止重要功能被覆盖。要在此处使用final关键字,只需将其添加到函数名称的开头即可。
class ParentClass{
final public function importantFunction() {
echo 'ParentClass::importantFunction()';
}
}
class ChildClass extends ParentClass{
public function importantFunction() {
echo 'ChildClass::importantFunction()';
}
}
$child = new ChildClass();
$child->printString();尝试覆盖此功能将产生以下错误。
Fatalerror:CannotoverridefinalmethodParentClass::importantFunction()intest.phponline12
使用final关键字的第二种方法是阻止子类的创建。如果您有一个要保留为最终版本的安全类,这将很有用。要像这样使用final关键字,只需将其附加到类名即可。
final class ParentClass{
public function importantFunction() {
echo 'ParentClass::importantFunction()';
}
}
class ChildClass extends ParentClass{
public function importantFunction() {
echo 'ChildClass::importantFunction()';
}
}
$child = new ChildClass();
$child->printString();尝试覆盖此功能将产生以下错误。
Fatalerror:ClassChildClassmaynotinheritfromfinalclass(ParentClass)intest.phponline12