elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Como crear un objeto sin inicializarlo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como crear un objeto sin inicializarlo?  (Leído 2,025 veces)
Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Como crear un objeto sin inicializarlo?
« en: 5 Enero 2011, 03:04 am »

HOla gente.
Resulta que tengo una clase, que tiene otra clase dentro.

Supongamos que la clase "persona" tiene unos strings, y la clase "dios" tiene un objeto persona, y 2 strings mas.

Pero cuando un objeto persona se crea, necesita que se pase por parametro un dato. Pero cuando creo una instancia de Dios, no tengo ese dato para pasarle.

QUiero hacer algo asi:

Código
  1. class Dios{
  2. private (persona)Persona;
  3.  
  4. function IniciarlizarPersona($id){
  5. $this->Persona = new Persona($id);
  6. }
  7. }


Se puede hacer algo así?
Se nota lo que pregunto?
Quiero tener una variable del tipo Persona creada, reservada, pero sin inicializar.


En línea

AFelipeTrujillo

Desconectado Desconectado

Mensajes: 160



Ver Perfil WWW
Re: Como crear un objeto sin inicializarlo?
« Respuesta #1 en: 5 Enero 2011, 18:14 pm »

Los parámetros constructor se pueden usar con datos que ud defina ... me explico mejor con codigo:

Código
  1. <?php
  2.  class Persona{
  3.     private str1;
  4.     private str2;
  5.     function __construct($str1 = null, $str2=null){
  6.         $this->str1 = $str1;
  7.         $this->str2 = $str2;
  8.     }
  9.  
  10.     public function setStr1($str1){
  11.         $this->str1 = $str1;
  12.     }
  13.  
  14.     public function setStr2($str2){
  15.         $this->str2 = $str2;
  16.     }
  17.  
  18.     public function getStr1($str1){
  19.         return $this->str1;
  20.     }
  21.  
  22.     public function getStr2($str2){
  23.         return $this->str2;
  24.     }
  25.  }
  26.  
  27. $p = new Persona(); // Los String estan nulos
  28. $p->setStr1("Esta es la cadena 1"); //Modifico el Str1
  29. $p->setStr2("Esta es la cadena 2"); //Modifico el Str2
  30.  
  31. echo $p->getStr1()." ".$p->getStr2(); //Los imprimo
  32. ?>

si entiende el concepto ???

se crea el objeto y después modifico sus atributos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines