final的中文意思是“最后的,最终的”,可以修饰类或者方法。
1)不希望父类的某个方法被子类重载(override)时,可以用final关键字修饰
2)不希望类被继承时,可以用final修饰
格式:
final class 类名{
}
class 类名{
final 修饰符 function 函数名(参数列表){}
}
1、如果希望某个类不被其它的类来继承,可以使用final
例:
<?php final class A{ } class B extends A{ //将会报错 } echo "ok";?>
2、如果希望某个方法不被任何子类重写,比如计算个人所得税的方法,可以使用final来修饰该方法。
<?php 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修饰的方法,可以被子类继承,但无法被子类重写
例:
<?php 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
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索class
, final
, 关键字
, 方法
, 子类
, 类名
final修饰
php中final、php final、php final class、php final修饰符、php final static,以便于您获取更多的相关知识。
时间: 2025-01-21 02:29:06