当前位置:  首页>> 技术小册>> PHP8入门与项目实战(4)

从PHP 5开始,新增了一个final关键字。如果父类中的方法被声明为final,则子类无法覆盖该方法。如果一个类被声明为final,则不能被继承。

1.final方法不能被重写
如果希望类中的某个方法不能被子类重写,就可以设置该方法为final方法,只需要在方法前加上final修饰符即可。如果这个方法被子类重写,将会出现错误。

【例8.6】

运行结果如图8-6所示。从结果可以看出,final方法不能被重写,否则会报错。

2.final类不能被继承
final关键词可以终止类的继承。final类不能有子类,final方法不能被覆盖。
【例8.7】

  1. <?php
  2. final class Poth{
  3. public $aa = 9.99;
  4. }
  5. $poth = new Poth();
  6. echo $poth;
  7. //声明M类,它继承自Poth类,但执行时会出错,final类不能被继承
  8. class M extends Poth {
  9. }
  10. ?>

运行结果如图8-7所示。


该分类下的相关小册推荐: