Práctica: Constructores-Copia

Utilizando las ideas esbozadas en el párrafo anterior, reescriba el constructor de la clase Biblio::Doc->new() descrita en la sección 6.3 (Puede encontrar una copia en http://nereida/~lhp/perlexamples/Doc.pm) de manera que cuando sea llamado como método de un objeto produzca una copia del objeto.

Una llamada como $newobj = $objref->new(arg1 => "nuevo valor1", arg4 => "nuevo valor4") debería producir un objeto $newobj cuyos atributos son iguales a los de $objref, salvo que los atributos arg1 y arg4 son cambiados a "nuevo valor1" y "nuevo valor4" respectivamente.

Modo de uso:

#!/usr/bin/perl -w -I.
use Biblio::Doc2;
...
$newobj = $obj->new(author => "Gardner", title => "Left and Right in the Universe");
$newobj->print();

Casiano Rodríguez León
2009-10-04