0
点赞
收藏
分享

微信扫一扫

PHP8中final关键字的应用-PHP8知识详解

boom莎卡拉卡 2023-10-01 阅读 37

在PHP8中,final的中文含义是最终的、最后的意思。被final修饰过的类和方法就是“最终的版本”。

如果关键字final放在类的前面,则表示该类不能被继承。

如果关键字final放在方法的前面,则表示该 方法不能被重新定义。

Image

如果有一个类的格式为:

final class class_name{
// ……
}

 则说明该类不可以被再继承,也不能再有子类。

如果有一个方法的格式为:

final function method_name()

则说明该方法在子类中不可以重写,也不可以被覆盖。

使用final关键字的参考代码:

  <?php
final class Fruit {                               //final类Fruit
    function __construct(){                       //定义构造方法
        echo "今日的特价水果是苹果。";
    }
}
class MyFruit extends Fruit {                   //定义Fruit类的子类
    function display()                          //定义子类的方法
    {
        echo "今日的特价水果是葡萄。";
    }
}
$fruit=new MyFruit ();                        //类的实例化
echo $fruit->display();                        //调用类的方法
?>                          

以上代码在php8中的运行结果为:

Fatal error: Class MyFruit may not inherit from final class (Fruit) in 
D:\phpenv\www\localhost\index.php on line 12

说明类Fruit不能被继承,否则会出错。

举报

相关推荐

0 条评论