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:
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.
Los parámetros constructor se pueden usar con datos que ud defina ... me explico mejor con codigo:
<?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