final关键字

本文详细介绍了final关键字在PHP中的使用方式及限制,包括如何利用final关键字阻止类被继承以及方法被重写。
final的中文含义是最终的,最后的。被关键字final修饰过的类和方法就是"最终的类和方法"。也就是说,final关键字修饰的类不能被继承,用final关键字修饰的方法不能被重写。

如果有一个类的格式为:
final class MyClass{
//......
}
则说明其他类不能再使用extends关键字继承该类。
如果有一个方法使用final关键字修饰,如下所示:
final function method_name()
说明该方法在所在类的子类中不可以被重写。

例如:
为final类MyClass生成一个子类ChildClass,可以看到程序报错,无法执行,代码如下:


<?php

final class MyClass
{
    function __construct()
    {
        echo "111111";
    }
}

class ChildClass extends MyClass
{
    static function test()
    {
        echo "22222";
    }
}

$child = new ChildClass();
结果为:
Fatal error: Class ChildClass may not inherit from final class (MyClass) in D:\wampserver\www\test\test\index1.php on line 17



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值