Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/10/2008, 15:48
CAT Shannon
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: sobrecarga de metodos en php ¿????

La sobrecarga tal y como se conoce en otros lenguajes de programación (Java por ejemplo) no existe en PHP, pero se puede simular. En la página del manual lo puedes ver:
Código HTML:
http://es.php.net/manual/es/language.oop5.overloading.php
No siempre se pueden sobrecargar métodos. En un proyecto que estoy desarrollando quería sobrecargar un método que se hereda de una clase abstracta.
Si intentas sobrecargar como se describe en el manual obtienes un error que te indica que la clase que hereda tiene un método abstracto, por lo que o lo defines o declaras la clase como abstracta. Si lo defines, de nada te sirve usar __call. Si no lo defines, no puedes instanciar la clase.
Mejor se ve con el código delante:
Código PHP:
abstract class claseAbstracta{
    public abstract function 
metodo($arg1);
}


class 
claseEjemplo extends claseAbstracta{
    public function 
metodo($arg1){
        
// ...
    
}

Para este caso la única solución que he encontrado ha sido pasar los parámetros a través del constructor o de otros métodos y comprobar dentro del método a sobrecargar si están definidos o no. Una solución poco elegante, pero la única que se me ocurre.

Si estoy en un error, me encantaría que me sacaseis de él.