PHP final关键字用法

在PHP中,final关键字用于方法和类。final方法用于防止方法重写,而final类用于防止继承。

示例

要在PHP中使用final关键字,代码如下。在这里,我们有最后的方法-

<?php
   class Base {
      final function display() {
         echo "基类函数声明为final!";
      }
      function demo() {
         echo "基类函数!";
      }
   }
   class Derived extends Base {
      function demo() {
         echo "派生类函数!";
      }
   }
   $ob = new Derived;
   $ob->demo();
?>

输出结果

派生类函数!

示例

现在让我们看一个示例,其中有一个最终类-

<?php
   final class Base {
      final function display() {
         echo "基类函数声明为final!";
      }
      function demo() {
         echo "基类函数!";
      }
   }
   class Derived extends Base {
      function demo() {
         echo "派生类函数!";
      }
   }
   $ob = new Derived;
   $ob->demo();
?>

输出结果

这将产生以下输出,即错误,因为我们尝试从最终的基类创建派生类-

PHP Fatal error: Class Derived may not inherit from final class (Base) in /home/cg/root/6985034/main.php on line 19