final关键字
1.如果程序员希望某个类不被其他的类来继承(出于安全性考虑)可以使用final
2.如果希望某个方法不想被任何一个子类重写
3.final不能修饰属性
错误演示:
final class A {
}
class B extends A{
function A(){
echo"ok";
}
}
报错:Fatal error: Class B may not inherit from final class (A)
const常量
1.程序设计中,不希望某个值被改变
2.const 常量名=值
3.常量是public属性,但是不能写上public,即const后面不加修饰符
4.常量不能修改
代码演示:
class AAA{
//常量必须赋初值
const rate=0.08;
function getpay($n){
//return $n*(self::rate);也可以
return $n*(AAA::rate);
}
}
$a=new AAA();
echo $a->getpay(100);