public function fijarNombreEdad($nombre, $edad) { $this->nombre = $nombre; $this->edad = $edad; } public function retornarNombre() { return $this->nombre; } public function retornarEdad() { return $this->edad; } } $persona1 = new Persona(); $persona1->fijarNombreEdad('Lucia', 20); $x = $persona1; echo 'Datos de la persona $persona1: '; echo $persona1->retornarNombre() . ' - ' . $persona1->retornarEdad() . '<br />'; echo 'Datos de la persona $x: '; echo $x->retornarNombre() . ' - ' . $x->retornarEdad() . '<br />'; $x->fijarNombreEdad('Ana', 25); echo 'Despues de modificar los datos: <br />'; echo 'Datos de la persona $persona1: '; echo $persona1->retornarNombre() . ' - ' . $persona1->retornarEdad() . '<br />'; echo 'Datos de la persona $x: '; echo $x->retornarNombre() . ' - ' . $x->retornarEdad() . '<br />'; //Vamos a clonar $persona2 = clone $persona1; $persona1->fijarNombreEdad('Luis', 19); echo 'Despues de modificar los datos de $persona1: <br />';
private $edad; public function fijarNombreEdad($nom, $ed) { $this->nombre = $nom; $this->edad = $ed; } public function getNombre() { return $this->nombre; } public function getEdad() { return $this->edad; } } $persona1 = new Persona(); $persona1->fijarNombreEdad("Juan", 20); echo "Nombre: " . $persona1->getNombre() . "<br />"; echo "Edad: " . $persona1->getEdad() . "<br />"; echo "<br />"; echo "Referencia<br /> cambio X y tambien cambia persona1<br />" . "----------------------------------------<br />"; $x = $persona1; echo "Datos de la persona :" . $persona1->getNombre() . " - " . $persona1->getEdad() . "<br />"; $x->fijarNombreEdad("Anna", 25); echo "Datos de la persona :" . $persona1->getNombre() . " - " . $persona1->getEdad() . "<br />"; echo "<br />"; echo "Clone<br /> cambio persona2 y NO cambia persona1<br />" . "----------------------------------------<br />"; $persona2 = clone $persona1; $persona2->fijarNombreEdad("Pepito", 30); echo "Datos de la persona :" . $persona1->getNombre() . " - " . $persona1->getEdad() . "<br />"; echo "Datos de la persona :" . $persona2->getNombre() . " - " . $persona2->getEdad() . "<br />";
public function fijarNombreEdad($nom, $ed) { $this->nombre = $nom; $this->edad = $ed; } public function getNombre() { $this->nombre; } public function getEdad() { return $this->edad; } } $persona1 = new Persona(); $persona1->fijarNombreEdad("Juan", 20); echo "Nombre: " . $persona1->getNombre() . "<br />"; echo "Edad: " . $persona1->getEdad() . "<br />"; $x = $persona1; echo 'Datos de la $persona1 : '; echo $persona1->getNombre() . "-" . $persona1->getEdad() . '<br>'; echo 'Datos de la persona $x'; echo $x->getNombre() . "-" . $persona1->getEdad() . '<br>'; //modificamos los datos $x->fijarNombreEdad("Manola", 23); echo 'Despues de modificar los datos <br>'; echo 'Datos de la $persona1 : '; echo $persona1->getNombre() . "-" . $persona1->getEdad() . '<br>'; echo 'Datos de la persona $x'; echo $x->getNombre() . "-" . $persona1->getEdad() . '<br>'; //clonamos
private $nombre; private $edad; public function fijarNombreEdad($nombre, $edad) { $this->nombre = $nombre; $this->edad = $edad; } public function retornarNombre() { return $this->nombre; } public function __clone() { //$this->edad = 0; die('No esta permitido clonar objetos de esta clase'); //por si no //queremos permitir que se //clone una clase } public function retornarEdad() { return $this->edad; } } $persona1 = new Persona(); $persona1->fijarNombreEdad('Juan', 19); echo 'Datos de la persona $persona1: '; echo $persona1->retornarNombre() . ' - ' . $persona1->retornarEdad() . '<br />'; $persona2 = clone $persona1; echo 'Datos de la persona $persona2: '; echo $persona2->retornarNombre() . ' - ' . $persona2->retornarEdad() . '<br />';