Perl/Class::Accessor

De Astillas.net
Módulo Class::Accessor
Versión
Uso Programación orientada a objetos.
Propósito Generación automática de métodos de acceso y alteración de valores en una clase.


Referencia rápida

package MyPackage;
use base qw(Class::Accessor);

# Los siguientes atributos son de sólo lectura 
MyPackage->mk_ro_accessors(qw(raza));

# Estos al contrario
MyPackage->mk_accessors(qw(nombre talla color));

package main;

# El módulo proporciona un método new() para crear objetos de esa clase
my $objeto = MyPackage->new({ nombre => 'Aquello', raza => 'clara', talla => 3 });

$objeto->color('naranja');

Ejemplos

Acesso a múltiples atributos

Empleando el método genérico get es posible leer en una sola llamada varios atributos del objeto:

my ($nombre, $talla) = $objeto->get( qw( nombre talla ) );

Modificando un atributo por nombre

Mediante el método genérico set se puede modificar el valor de un atributo pasándole el nombre:

$objeto->set( 'color', 'amarillo limón' );