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

    时间: 浏览:821次  来源:PHP服务网
导读:在PHP8中,final的中文含义是最终的、最后的意思。被final修饰过的类和方法就是“最终的版本”。 如果关键字final放在类的前面,则表示该类不能被集成。 如果关键字final放在方法的前面,则表示该 方法不能被重新定义。

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

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

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


如果有一个类的格式为:

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不能被继承,否则会出错。



本文地址:https://www.phpfw.com/php8final.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

使用关键字interface来声明使用接口-PHP8知识详解

导读:继承特性简化了对象、类的创建,增加了代码的可重用性。但是PHP只支持单继承,如果想实现多继承,就需要使用接口。PHP可以实现多个接口。

2023-10-03  分类:PHP8教程  浏览:821次


使用关键字abstract 声明抽象类-PHP8知识详解

导读:抽象类只能作为父类使用,因为抽象类不能被实例化。抽象类使用关键字abstract 声明。

2023-09-30  分类:PHP8教程  浏览:873次


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

导读:在PHP8中,final的中文含义是最终的、最后的意思。被final修饰过的类和方法就是“最终的版本”。 如果关键字final放在类的前面,则表示该类不能被集成。 如果关键字final放在方法的前面,则表示该 方法不能被重新定义。

2023-09-29  分类:PHP8教程  浏览:822次


PHP8的继承和多态-PHP8知识详解

导读:我们在前面的时候讲过《面向对象编程的特点》时,面向对象编程具有3大特点:封装性、继承性和多态性。 集成和多态的根本作用就是完成代码的重用。下面就来讲解PHP8的继承和多态。

2023-09-25  分类:PHP8教程  浏览:912次