static 后期静态绑定

<?php

/**
 * 后期静态绑定
 */


/**
 * A类   父类
 */
class A 
{
    public static function who()//A类who方法
    {
        echo "A类的who方法";
    }

    public static function test()
    {
        self::who();//不论用A类调用test方法,还是B类调用test方法,self都是只调用A类自身的who方法
        static::who();//用A类调用test方法,static就会自动识别调用A类的who方法//用B类调用test方法,static就会自动识别调用B类的who方法
    }
}

/**
* B类    子类    
*/
class B extends A
{    
    public static function who()//B类who方法
    {
        echo "B类的who方法";
    }    
}

A::test();//A类调用test方法
B::test();//B类调用test方法

 

posted @ 2017-12-03 10:36  enjie  阅读(90)  评论(0编辑  收藏  举报