站长网 PHP教程 PHP final包含的最终类和最终方法

PHP final包含的最终类和最终方法

final 关键字的作用如下: 使用 final 修饰的类,不能被继承; 类中使用 final 修饰的成员方法,在子类中不能覆盖(重写)该方法。 如果某个类不想被继承,那么就可以使用 final 来修饰这个类。使用 final 修饰的类不能有子类,也就不能对它进行拓展。如果

final 关键字的作用如下:

使用 final 修饰的类,不能被继承;

类中使用 final 修饰的成员方法,在子类中不能覆盖(重写)该方法。

如果某个类不想被继承,那么就可以使用 final 来修饰这个类。使用 final 修饰的类不能有子类,也就不能对它进行拓展。如果想要继承一个使用 final 修饰的类,程序将会报错,如下所示:

<?php

final class DemoClass{

}

 

class DemoClass2 extends DemoClass{

}

?>

报错信息如下所示:

Fatal error: Class DemoClass2 may not inherit from final class (DemoClass) in … …

如果类中的某个方法已经很完善了,不需要再被重写,那么就可以使用 final 来修饰这个方法。如果在子类中试图重写这个使用 final 修饰的方法,程序同样会出现错误,如下所示:

<?php

class DemoClass{

final public function say(){

echo 'C语言中文网';

}

}

 

class DemoClass2 extends DemoClass{

public function say(){

echo '';

}

}

?>

报错信息如下所示:

Fatal error: Cannot override final method DemoClass::say() in … …

提示:final 关键字应该放在其它修饰词(例如 public、static 等)之前使用。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/jc/php/2021/0523/4746.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部