Ver Mensaje Individual
  #195 (permalink)  
Antiguo 17/01/2011, 02:16
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Juego: "¿Dónde está el error?"

A ver:
Imprime Foo porque al ser test un método estático self sigue haciendo referencia a la clase base.
Para que imprima Bar hay que sobreescribir el método test:
Código PHP:
<?php
class Foo {
    public static function 
who() {
        echo 
__CLASS__;
    }
    public static function 
test() {
        
self::who();
    }
}
 
class 
Bar extends Foo {
    public static function 
who() {
        echo 
__CLASS__;
    }
     public static function 
test() {
        
self::who();
    }
}
 
Bar::test();