• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

来看一段简单的代码:

 1 class BaseClass {
 2    final public function test() {
 3        echo "BaseClass::test() called\n";
 4    }
 5    
 6    public function moreTesting() {
 7        echo "BaseClass::moreTesting() called\n";
 8    }
 9 }
10 final class AbcClass{
11   public function abc(){
12     echo "abc";
13   }
14 }
15 /*
16 class Abcd extends AbcClass{
17   public function abcd(){
18   }
19 }
20 */
21 
22 class ChildClass extends BaseClass {
23    public function moreTesting($tmp=null) {
24        echo "ChildClass::moreTesting() called\n";
25    }
26 }

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

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

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[PHP] 最简单的权限控制设计发布时间:2022-07-10
下一篇:
PHP之递归遍历目录与删除发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap