Como crear un objeto sin inicializarlo?

Iniciado por Skeletron, 5 Enero 2011, 03:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

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 (php) [Seleccionar]
class Dios{
private (persona)Persona;

function IniciarlizarPersona($id){
$this->Persona = new Persona($id);
}
}



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

AFelipeTrujillo

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

Código (php) [Seleccionar]
<?php
  
class Persona{
     private 
str1;
     private 
str2
     function 
__construct($str1 null$str2=null){
         
$this->str1 $str1;
         
$this->str2 $str2;
     }

     public function 
setStr1($str1){
         
$this->str1 $str1
     }

     public function 
setStr2($str2){
         
$this->str2 $str2
     }

     public function 
getStr1($str1){
         return 
$this->str1
     }

     public function 
getStr2($str2){
         return 
$this->str2
     }
  }

$p = new Persona(); // Los String estan nulos
$p->setStr1("Esta es la cadena 1"); //Modifico el Str1
$p->setStr2("Esta es la cadena 2"); //Modifico el Str2

echo $p->getStr1()." ".$p->getStr2(); //Los imprimo
?>


si entiende el concepto ???

se crea el objeto y después modifico sus atributos