PHP中的final关键字
PHP中的 final 关键字在不同的上下文中使用。 final 关键字仅用于方法和类。
最终方法:当一个方法被声明为最终方法时,就无法覆盖该方法。由于某些设计原因,方法被声明为最终方法。由于安全或任何其他原因,不应覆盖方法。
例子:
printdata();
$obj->nonfinal();
?>
输出:
Base class final printdata function
Derived class non final function
最终类:声明为 final 的类将来不能扩展。由于某些设计级别问题,类被声明为最终类。如果由于某些安全性或其他原因不应该继承该类,则类的创建者将该类声明为最终类。 final 类可以包含 final 和非 final 方法。但是当类本身被声明为 final 时,类中没有使用 final 方法,因为继承是不可能的。
例子:
printdata();
$obj->nonfinal();
/* If we uncomment these lines then it will
show Class Derived may not inherit from final
class (Base)
class Derived extends Base {
} */
?>
输出:
final base class final method
non final method of final base class
注意:与Java不同, PHP中的 final 关键字只能用于方法和类,不能用于变量。