| Basicos::Base::Clases - Automatiza creación de métodos a clases |
Basicos::Base::Clases - Automatiza creación de métodos a clases
package MyPackage;
use base qw(Basicos::Base::Clases);
MyPackage->make_accessors_to_clases(
'cgi' => 'Trajano::Data::Cgi',
'url1' => 'Trajano::Data::Url',
'url2' => 'Trajano::Data::Url',
'coco' => [ 'Trajano::Data::Otros',
{ name => 'especial',
id => 1.2433 } ],
'T' => [ 'Trajano', sub { ( $Name ) } ]
);
package main;
my $obj = MyPackage->new();
$obj->cgi->field_of_cgi();
$obj->url1->field_of_url();
$obj->url2->field_of_url();
$obj->coco->name();
$obj->coco->id(9.002);
Este paquete amplía las posibilidades de Basicos::Base permitiendo a una clase crear automáticamente métodos de acceso a otras clases, ocupándose incluso de crear los nuevos objetos la primera vez que se accede a ellos.
Para usarlo basta con heredar de este objeto en la clase que
estamos construyendo y llamar al método
make_accessors_to_clases con los parámetros adecuados,
generalmente en el momento de la carga, es decir, fuera de
cualquier método o función.
Cada uno de los métodos de acceso creados recibe, como es obvio, una referencia al objeto base y realiza lo siguiente:
croak con el
mensaje de error.
MyPackage->make_accessors_to_class( %accessors )
Dada una lista de nombres de accesos y sus correspondientes clases, crea e instala los métodos que proporcionan un acceso a objetos de dichas clases.
Si algún objeto precisa parámetros de inicialización es necesario usar una referencia a un array de dos elementos: el primero es el nombre de la clase y el segundo una referencia a un hash con los parámetros precisos en el momento de crear el objeto.
(c) Copyright Víctor Moral <victor@taquiones.net> y Angel Ortega <angel@triptico.com>
Este programa está bajo licencia GPL (ver perlgpl) y puede distribuirse y/ó modificarse bajo los términos en ella descritos.
| Basicos::Base::Clases - Automatiza creación de métodos a clases |