博学而笃志 切问而近思 仁在其中
详情
PHP中的final
作者:Aliot     发布时间:2017-07-02     评论:0     阅读:0

PHP中的final

时间:2016-12-31 本站 guaitu

final的中文意思是“最后的,最终的”,可以修饰类或者方法。

1)不希望父类的某个方法被子类重载(override)时,可以用final关键字修饰

2)不希望类被继承时,可以用final修饰

格式:

final class 类名{

}

class 类名{

final 修饰符 function 函数名(参数列表){}

}

1、如果希望某个类不被其它的类来继承,可以使用final

例:

  final class A{
}
class B extends A{ //将会报错
}
echo "ok";
?>

2、如果希望某个方法不被任何子类重写,比如计算个人所得税的方法,可以使用final来修饰该方法。

  class A{
final public function getRate($salary){
return $salary*0.08;
}
}
class B extends A{
public function getRate($salary){
return $salary*0.01;
}
}
$b=new B();
echo $b->getRate(2000); //运行时会报错,因为父类A中的getRate()使用final修饰,无法在子类中重写
?>

3、被final修饰的方法,可以被子类继承,但无法被子类重写

例:

  class A{
final public function getRate($salary){
return $salary*0.08;
}
}
class B extends A{
/*public function getRate($salary){
return $salary*0.01;
}*/
}
$b=new B();
echo $b->getRate(2000); //输出 160
?>

4、final关键字不能修饰属性(变量)

URL: http://www.bianceng.cn/webkf/PHP/201612/50493.htm


相关文章
loading......
最新动态
所有评论

loading......

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册