Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/06/2014, 02:38
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años
Puntos: 84
Respuesta: en java se puede meter un objeto dentro de otro, esto se puede en php?

En realidad no estás metiendo un objeto dentro de otro en la forma que estás declarando un objeto dentro de otro. No.

Lo que sí estás haciendo con eso es pasar como parámetro la instancia/copia de un objeto al constructor de otro. Y eso sí es posible.

Es fácil de entender: desde el momento que puedes guardar la instancia en una variable, esa variable la puedes transportar a donde quieras en el programa ¿cierto? Entondes es coherente y lógico que esa variable con la instacia a ese objeto puedas usarlo dentro de otra clase.

De otra manera las clases no serían instaciables y no habría forma de recoger el valor que generan en una variable o arreglo.

Hay una explicación un poco más técnica.

Si una variable es un espacio reservado en memoria, lo que estás guardando en memoria es una copia de las instrucciones que contiene esa clase, que más adelante el parser/intérprete leerá e intentará ejecutar.

Para entender esto, prueba lo siguiente en PHP

Código PHP:
Ver original
  1. <?php
  2. class class1{
  3.     public function __construct() {
  4.         return "hola mundo";
  5.     }
  6.    
  7.     public function method1(){
  8.         return "method1";
  9.     }
  10. }
  11.  
  12.  
  13. class class2{
  14.     public function __construct() {
  15.     }
  16.    
  17.     public function method2($input){
  18.         return $input;
  19.     }
  20. }
  21.  
  22. $obj= new class1();
  23.  
  24. $obj2=new class2();
  25.  
  26. echo $obj2->method2($obj->__construct());
  27.  
  28. echo "<br>";
  29.  
  30. echo $obj2->method2($obj->method1());
  31.  
  32. /*
  33. imprime
  34.  
  35. hola mundo
  36. method1
  37.  
  38. */
  39.  
  40. ?>
__________________
Ayúdame a hacerlo por mi mismo.