雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

PHP 中的 final 关键字

2024-09-26 31

1. final 关键字


先来记重点:final 修饰的类不能被继承,final 修饰的方法不能被重写

PHP 从 5.x 版本开始新增了 final 关键字,它可以在类或类的方法前面使用,但是不能用来修饰类的属性

final 的中文含义是:最终的、不可更改的,所以被 final 修饰的类称为 ”最终类“,被 final 修饰的方法称为 “最终方法”

2. final 使用示例


错误演示:当继承被 final 修饰的类时,PHP 会直接抛出致命错误

final class A{}class B extends A{}# 致命错误:类 B 不能继承最终类 AFatal error: Class B may not inherit from final class (A) in /Users/liang/code/php/1.php on line 9

错误演示:当重写被 final 修饰的方法时,PHP 会直接抛出致命错误

class A{    final public function liang()    {        echo 'vue';    }}class B extends A{    public function liang()    {        echo 'php';    }}# 致命错误:无法重写最终方法 A::liang()Fatal error: Cannot override final method A::liang() in /Users/liang/code/php/1.php on line 17
更新于:1个月前
赞一波!

文章评论

评论问答