final顾名思义就是“最终的,最后的”。
final修饰方法可以得到“最后的方法”,即不能被子类重写的方法。
class NbaPlayer{ final public function eat($food){ echo "food is ".$food; }}
final修饰类可以得到“最后的类”,即不能被继承的类。
final class NbaPlayer(){}
例子:
<?php //子类的方法名和父类的方法名相同时,会重写(覆盖)父类的方法//对于不想被任何子类重写(修改)的方法,可以在class之前添加final关键字//对于不想被子类重写(修改)的方法,可以在方法定义的前面添加final关键字class BaseClass{ public function test($temp="123"){ echo "BaseClass::test called".$temp."\n"; } final public function test1(){ echo "BaseClass::test1 called\n"; }}class ChildClass extends BaseClass{ public function test($temp="123"){ echo "ChildClass::test called "; }}$obj = new ChildClass();$obj->test("456");
版权声明:本文为博主原创文章,未经博主允许不得转载。