Позднее статическое связывание

GutsOut

Новичок
Здравствуйте,
PHP:
<?php

class A {

    public static function foo() {
        static::who();
    }

    public static function who() {
        echo __CLASS__;
    }
}

class B extends A {
    public static function test() {
        A::foo();
        parent::foo();
        static::foo();
    }

    public static function foo() {
        echo __CLASS__;
    }
} 

class C extends B {
    public static function who() {
        echo __CLASS__;
    }
}

C::test(); //ACB
Почему выводит третий результат "B", хоть убей, не пойму, я ожидаю "C". Может кто нить на пальцах объяснить?
 
Сверху