• Domingo 19 de Mayo de 2024, 09:00

Autor Tema:  Pasar Un Objeto A Una Clase  (Leído 1388 veces)

Tisus

  • Miembro activo
  • **
  • Mensajes: 52
    • Ver Perfil
Pasar Un Objeto A Una Clase
« en: Lunes 6 de Febrero de 2006, 23:30 »
0
Hola que tal. En ralidad soy nuevo en esto. Tengo dos clases: Persona y Buscar. Yo creo una objeto del tipo persona y quiero pasarla como parametro a traves de una metodo en la clase Buscar. Pero no tengo ni idea de como enviarla como parametro ni como resivierla en la clase Buscar. Sera que ustedes me pueden dar una manito.
Cualquier sugerencia en bienvenida.
Gracias

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Pasar Un Objeto A Una Clase
« Respuesta #1 en: Jueves 9 de Febrero de 2006, 15:17 »
0
Un entero es una variable de un tipo de datos determinado, un objeto también es una variable de un tipo de datos determinado. Tenés que llamar al método donde le querés pasar el objeto con la variable que tiene la instancia del objeto como parámetro:

Código: Text
  1. class Buscar {
  2.   var $refs;
  3.  
  4.   function Buscar() {
  5.     // Constructor.
  6.   }
  7.  
  8.   function Enviar(&$Objeto) {
  9.     $this->refs[] = &$Objeto;
  10.   }
  11.  
  12. }
  13.  
  14. $a = new Buscar();
  15. $b = new Persona();
  16.  
  17. $a->Enviar($b);
  18.  

En ese ejemplo el objeto va por referencia, es decir que no se produce una copia del objeto, se pasa la dirección de memoria en donde está almacenado el objeto, por lo tanto si modificás alguna propiedad del objeto dentro del método Enviar, los cambios se hacen efectivos desde afuera de la clase.

Saludos.

PD: Si querés pasar una copia del objeto, no una referencia borrá los ampersands (&). Leete algo sobre objetos en PHP 4, es sencillo el tema.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Pasar Un Objeto A Una Clase
« Respuesta #2 en: Jueves 9 de Febrero de 2006, 18:33 »
0
una duda referente a las referencias en objetos, dices que se pone un & (ampersand) antes del nombre del objeto para pasarlo como referencia, pero por ahi me dijeron que en sistemas windows (el servidor), te tira errores a la hora de usar &... no se bien como estaba la situación pero era algo asi  :rolleyes:
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Pasar Un Objeto A Una Clase
« Respuesta #3 en: Viernes 10 de Febrero de 2006, 17:32 »
0
La verdad que yo utilizé referencias muchas veces y nunca tuve un problema, siempre y cuando la haya usado bien...

Es más hice un algoritmo de compresión que tenía una gran estructura de datos llena de referencias por todos lados y funcionaba perfecto tanto en Windows como en Linux, quizá eso que decís esté reffiriéndose a una versión más vieja de PHP de la que yo estoy utilizando... (4.3.3).

Saludos.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.