Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2008, 15:55
Avatar de Lord Kazuky
Lord Kazuky
 
Fecha de Ingreso: junio-2006
Ubicación: 7F.00.00.01
Mensajes: 123
Antigüedad: 17 años, 10 meses
Puntos: 5
Herencia de clases con metodos estaticos

Saludos. Tengo una clase A que tiene unos métodos estáticos. Tengo una clase B que hereda de A y
sobreescribe unos de esos métodos estáticos. El problema es que no consigo llamar desde la clase padre
los métodos que sobreescribe la clase hija.

Vamos con algo de codigo para ver si me doy a entender mejor:

Código PHP:
class A{
    
 public static function 
run(){
    echo(
"<br>Metodo 'Run' definido en: A");
    
self::xxx();
    
self::yyy();
 }
 
 public static function 
xxx(){
    echo(
"<br>Metodo 'xxx' definido en: A");
 }
 
 public static function 
yyy(){
    echo(
"<br>Metodo 'yyy' definido en: A");
 }
 
}

class 
extends A{

 public static function 
xxx(){
    echo(
"<br>Metodo 'xxx' definido en: B");
    
parent::xxx();
 }
 
}

B::run(); 
Sale algo como esto:

Metodo 'Run' definido en: A
Metodo 'xxx' definido en: A
Metodo 'yyy' definido en: A

y yo busco que la salida sea algo como:

Metodo 'Run' definido en: A
Metodo 'xxx' definido en: B
Metodo 'xxx' definido en: A
Metodo 'yyy' definido en: A


Creo que debería cambiar la instrucción 'self' de la clase padre por otra cosa (que desconozco) para que resulte. ¿Cómo podría obtener el resultado que espero?

Gracias de antemano por su colaboración.
__________________
Saludos.
"Cualquier tonto puede escribir código que un computador entiende. Los buenos programadores escriben código que los humanos pueden entender. ;)"