「php化整为零系列」六、后期静态绑定

「php化整为零系列」六、后期静态绑定_第1张图片

源码地址: https://github.com/wilfordw/phpTutorial

该系列我只写我的理解,非官方解释,如不够专业请见谅

后期静态绑定说白了就是对于静态方法,在继承过程中引入static关键字替代self来达到静态方法的继承目的。如下代码

callFuncXXOO();//A::funcXXOO()

class C
{
    static public function callFuncXXOO()
    {
        print self::funcXXOO();
    }

    static public function funcXXOO()
    {
        return "C::funcXXOO()";
    }
}

class D extends C
{
    static public function funcXXOO()
    {
        return "D::funcXXOO";
    }
}

$d = new D;
$d->callFuncXXOO();//C::funcXXOO()

static实现引用子静态方法覆盖父静态方法

你可能感兴趣的:(「php化整为零系列」六、后期静态绑定)