标签:
final顾名思义就是“最终的,最后的”。
final修饰方法可以得到“最后的方法”,即不能被子类重写的方法。
class NbaPlayer{
final public function eat($food){
echo "food is ".$food;
}
}
final修饰类可以得到“最后的类”,即不能被继承的类。
final class NbaPlayer(){
}
例子:
//子类的方法名和父类的方法名相同时,会重写(覆盖)父类的方法
//对于不想被任何子类重写(修改)的方法,可以在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");
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签: