Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Implementacion de Métodos

Estas en el tema de Implementacion de Métodos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos! A ver si me pueden resolver de una duda la cual se solucionar en ActionScript pero no encuentro la solución en PHP. ...
  #1 (permalink)  
Antiguo 08/10/2007, 00:32
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 8 meses
Puntos: 0
Implementacion de Métodos

Hola a todos!
A ver si me pueden resolver de una duda la cual se solucionar en ActionScript pero no encuentro la solución en PHP.

Basicamente tengo una clase principal a la cual le deseo "implementar" una serie de metodos que se encuentran en otras clases. Digamos que es una manera de emular la herencia multiple, pero esa no es mi intencion. Lo que deseo es tener una serie de metodos que extiendan mi clase y le den ciertas habilidades extras a las contempladas originalmente, a manera de libreria. Un ejemplo mas o menos :


Código PHP:
class Foo {

    function 
Foo () {
    }
    static function 
initialize ($target) {
        
$d = new self();
        foreach (
$d as $key=>$value) {
            
$target->$key $value;
        }
    }
    function 
test () {
        echo 
"do it!";
    }
}

class 
Boo {
    function 
Boo () {
        
Foo::initialize($this);
    }
}


$f = new Boo();
$f->test(); 
Basicamente lo que intento es que la clase Boo adquiera el metodo test()

Saludos y gracias!
__________________
www.subflash.com <-----visita
  #2 (permalink)  
Antiguo 08/10/2007, 08:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Implementacion de Métodos

Para que Boo adquiera el metodo test basta con heredar de Foo, ahora como tu implicas quieres que adquiera una serie de metodos de varias clases, es decir herencia multiple.

Ahora esto se ha discutido entre varios programadores y muchos concuerdan que la herencia multiple es un problema principal de disenio ya que si necesitas varios metodos de varias clases lo mejor es implementarlas directamente en la clase.

Asi que si quieres adquirir solo el metodo test, hereda de Foo, si quieres de multiples clases te recomiendo que en tu diagrama UML analizes si es necesario o si podrias implementar el metodo.

Saludos.
  #3 (permalink)  
Antiguo 08/10/2007, 10:05
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: Implementacion de Métodos

Lo que pasa es emular herencia multiple no es lo que busco realmente, sino mas que nada es que tengo una aplicacion en flashremoting que siempre se conecta a una clase principal. Usando unos 10-15 metodos es facil, pero en el momento que tengo 40 metodos se complica un poco la administracion del mismo, entonces basicamente ando buscando una solucion parecida que se usa en ciertos problemas en Actionscript donde se "implementan" metodos a manera de librerias a ciertas clases para poder agregarle o extender las funcionalidades originales del mismo.

Pensare que puedo hacer...
__________________
www.subflash.com <-----visita
  #4 (permalink)  
Antiguo 11/10/2007, 08:00
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Re: Implementacion de Métodos

Cambia "herencia" por "composición", para eso están los objetos, para componer nuevas estructuras a partir de otro conjunto.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.