MooseX::AttributeTree

Software captura de pantalla:
MooseX::AttributeTree
Detalles de software:
Versión: 0.04
Fecha de carga: 14 Apr 15
Licencia: Libre
Popularidad: 9

Rating: nan/5 (Total Votes: 0)

Las clases pueden heredar atributos de sus clases para padres. Pero a veces quieres un atributo para poder heredar su valor de un objeto paterno. Por ejemplo, así es como funcionan los estilos CSS en HTML.
MooseX :: AttributeTree es un módulo Perl que le permite aplicar el rasgo TreeInherit a cualquier atributo en la clase de & nbsp;. Esto cambia la forma al método de acceso del atributo funciona. Cuando se lee el valor del atributo, si ningún valor se ha fijado para el atributo en este objeto, el descriptor de acceso devolverá el valor del objeto principal (que podría ser heredada en sí).
El objeto de los padres no tienen que ser del mismo tipo que el objeto secundario, pero debe tener un método con el mismo nombre que el método de acceso del atributo (a menos que suministre un fetch_method). (Método de los padres puede ser un método atributo de acceso, pero no tiene que ser.) Si el padre no tiene el método correcto, obtendrá un error de ejecución si el niño trata de llamarlo.
Por defecto, MooseX :: AttributeTree espera obtener el objeto padre llamando al método principal del objeto. Sin embargo, se puede utilizar cualquier método para recuperar el vínculo pasando el parent_link apropiado para el rasgo TreeInherit:
& Nbsp; tiene ancestro => (
& Nbsp; es => 'rw',
& Nbsp; isa => 'Objeto',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; tiene valor => (
& Nbsp; es => 'ro',
& Nbsp; rasgos => [TreeInherit => {parent_link => 'antepasado'}],
& Nbsp;);
Si el método devuelve undef, a continuación, la herencia se detiene y el descriptor de acceso se comportará como un descriptor de acceso normal. (Normalmente, parent_link será el nombre de un método de atributo de acceso, pero no tiene que ser.)
A veces no es conveniente para el objeto principal de tener un método independiente para cada atributo que un objeto hijo podría querer heredar. En ese caso, se puede suministrar una fetch_method al rasgo TreeInherit.
& Nbsp; tiene other_value => (
& Nbsp; es => 'ro',
& Nbsp; rasgos => [TreeInherit => {fetch_method => 'get_inherited'}],
& Nbsp;);
Con fetch_method, el valor heredado provendrá
& Nbsp; $ self-> entre padres> get_inherited ('other_value');
en lugar de la habitual
& Nbsp; $ self-> entre padres> other_value ();
Si el atributo tiene un método predicado, se informa si el atributo ha sido establecido en ese objeto. El predicado no tiene conocimiento de cualquier valor que pueda ser heredado de un padre. Esto significa que $ objeto-> has_value puede devolver false aunque $ objeto-> valor devolvería un valor (heredado de los padres).
Asimismo, el método más clara del atributo (si los hay) podría borrar el atributo sólo en este objeto, y nunca afectar a un objeto padre.
SINOPSIS
& Nbsp; paquete MiClase;
& Nbsp; utilizar alces;
& Nbsp; utilizar MooseX :: AttributeTree ();
& Nbsp; tiene padre => (
& Nbsp; es => 'rw',
& Nbsp; isa => 'Objeto',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; tiene valor => (
& Nbsp; es => 'rw',
& Nbsp; rasgos => [qw / TreeInherit /],
& Nbsp;);

Requisitos :

  • Perl

Programas parecidos

UMark
UMark

3 Jun 15

ProcMeter3
ProcMeter3

14 Apr 15

Lynis
Lynis

17 Feb 15

HPC Toolkit
HPC Toolkit

20 Feb 15

Otro software de desarrollador Christopher J. Madsen

mktime
mktime

2 Jun 15

VBinDiff
VBinDiff

2 Jun 15

Comentarios a la MooseX::AttributeTree

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!