专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

php中重写和final关键字的使用

  为什么把重写和final放在一起,原因就是一条:final的意思是不可更改的,也就是说final定义的东西是不可改变的,下面具体来说一下。

来看一段简单的代码:

 class BaseClass {
    final public function test() {
        echo "BaseClass::test() called\n";
    }

    public function moreTesting() {
        echo "BaseClass::moreTesting() called\n";
    }
 }
 final class AbcClass{
   public function abc(){
     echo "abc";
   }
 }
 /*
 class Abcd extends AbcClass{
   public function abcd(){
   }
 }
 */

 class ChildClass extends BaseClass {
    public function moreTesting($tmp=null) {
        echo "ChildClass::moreTesting() called\n";
    }
 }

代码中定义了一个类,BaseClass然后ChildClass继承了这个类并且重写了这个类中的方法moreTesting,重写方法的时候方法名一定要一样,参数可以改变。这时候对象调用的时候就是调用的重写后的方法。

代码中注释了一个地方,如果这段代码被执行就会报错,因为AbcClass是final关键字定义的类,可以正常被使用,但不能被任何类继承。

类中final关键字定义的方法也不能被重写,比如BaseClass中的test方法,只能使用,如果重写会出现错误。

文章永久链接:https://tech.souyunku.com/47744

未经允许不得转载:搜云库技术团队 » php中重写和final关键字的使用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们