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

Objetos como parametros

Estas en el tema de Objetos como parametros en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola quetal tengo siertos inconvenientes con este tema ya que no habia hecho esto antes y tengo algo de conocimientos de php5, espero sus ayuditas ...
  #1 (permalink)  
Antiguo 04/03/2009, 13:51
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Objetos como parametros

Hola quetal tengo siertos inconvenientes con este tema ya que no habia hecho esto antes y tengo algo de conocimientos de php5, espero sus ayuditas jeje

Estoy creando una clase Operaciones donde hago unas simples operaciones y otra clase RecibeOperacion que recibe un objeto

Bueno lo primero que hago instancio las clases con los mismos nombres de las clases despues por medio del objeto Operaciones accedo a una simple suma donde le paso unos parametros y me los guarda en una variable $valorFinal despues lo que hago con el sgte objeto es pasarle como parametro el objeto Operaciones y lo que intento es aumentar el valor que tenia antes.

Bueno espero me entiendan o entiendan que quiero decir con pasar objetos como parametro muchas gracias

o estoy interpretando mal lo de objetos?? pues yo creo que si bueno ojala me puedan ayudar jeje

Código PHP:
class Operaciones
{
    var 
$valorFinal;
    public function 
suma($num1,$num2)
    {
        
$this->valorFinal=$num1+$num2;        
        return 
$this->valorFinal;
    }
    
    public function 
resta($num1,$num2)
    {
        
$this->valorFinal=$num1+$num2;        
        return 
$this->valorFinal;
    }
    
    
    
}

class 
RecibeOperacion
{
    var 
$aumento;
    
    function 
tipoOperacion($objeOperacion)
    {
        
$objeOperacion->aumento=$objeOperacion->aumento+5;
        return 
$this->aumento;    
        
        
    }
    
}
$Operaciones=new Operaciones;
$RecibeOperacion=new RecibeOperacion;

$Operaciones->suma(4,10);
//$Operaciones->valorFinal;
echo $RecibeOperacion->tipoOperacion($Operaciones); 
  #2 (permalink)  
Antiguo 04/03/2009, 13:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Objetos como parametros

Dentro de tu clase RecibeOperacion, accedes al atributo "aumento" del objeto Operaciones ... dicho objeto no tiene dicho atributo.

Ese es un error, no entendí lo que quieres hacer como para aportar más ... salvo recomendarte utilices sintaxis de PHP5.

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 04/03/2009, 14:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Objetos como parametros

Pues veo muchos errores, el primero tu clase que pasas por parámetro no tiene una variable (ni privada ni pública) llamada aumento por lo que con eso ya tienes el primer error.

Segundo, tu regresas $this->aumento pero nunca defines su valor ni lo usas para nada, por lo que no le veo caso para que recibes el objeto y nunca lo asignas.

Saludos
  #4 (permalink)  
Antiguo 04/03/2009, 14:04
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
ooo si de eso tienes razon mm si no me supe explicar tienes algun ejemplo de como pasar objetos como parametros??

GraciaS

si GatorV tienes demaciada razon el problema es que no entiendo como pasar un objeto como parametro o mejor dicho para que me puede servir pasar un objeto como parametro, espero no causar molestias solo necesito esa orientacion

Última edición por GatorV; 04/03/2009 a las 14:21
  #5 (permalink)  
Antiguo 04/03/2009, 14:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Objetos como parametros

Cita:
Iniciado por acoevil Ver Mensaje
ooo si de eso tienes razon mm si no me supe explicar tienes algun ejemplo de como pasar objetos como parametros??
Tal cual lo haces. Tu problema es que en realidad no utilizas dicho objeto, estás confundiendo sus propiedades.

Código php:
Ver original
  1. class equis
  2. {
  3.     public function metodoX($objetoY)
  4.     {
  5.         $objetoY->metodoDeObjetoY();
  6.     }
  7. }
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 04/03/2009, 19:44
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Objetos como parametros

Estimado, tus preguntas me hacen acordar al diálogo entre el Gato y Alicia del País de las Maravillas, donde Alicia le dice algo como

Alicia: "¿cual camino debo tomar?"
Gato: "¿A donde quieres ir?"
Alicia: "No importa mucho a donde"
Gato: "Entonces no importa el camino que elijas"

Similar es tu explicación, ejemplo y pregunta posterior de "¿cómo paso un objeto por parámetros?"

Ya lo estás haciendo, solo que no tienes claro hacia donde quieres ir. Técnicamente es lo mismo que cuando pasas cualquier variable por parámetros, no hay diferencia.

Te doy otro ejemplo más simple y gráfico:

Código PHP:
class Cajon
{
}

class 
Puerta
{
}

class 
Armario
{
   private 
$_elementos = array();

   public function 
agregar($elemento)
   {
      
$this->_elementos[] = $elemento;
   }
}

$miArmario = new Armario();

$miArmario->agregar(new Puerta());
$miArmario->agregar(new Puerta());

$miArmario->agregar(new Cajon()); 
Bueno, este objeto Armario tiene dos puertas y un cajón, todos son objetos y paso por parámetros los elementos que necesito para construir un objeto más grande a partir de otros.

¿Se entiende la idea?
__________________
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 09:18.