MooseX::AttributeTree

Software screenshot:
MooseX::AttributeTree
Software detaljer:
Version: 0.04
Upload dato: 14 Apr 15
Licens: Gratis
Popularitet: 70

Rating: 2.0/5 (Total Votes: 1)

Klasser kan arve attributter fra deres forældre klasser. Men nogle gange du vil have en attribut for at kunne arve sin værdi fra en forælder objekt. For eksempel, det er hvordan CSS arbejder i HTML.
MooseX :: AttributeTree er en Perl-modul, der gør det muligt at anvende den TreeInherit træk til enhver attribut i din klasse. & Nbsp; Det ændrer den måde, den egenskab har accessor metode virker. Når man læser attribut værdi, hvis ingen værdi er blevet indstillet for attribut i dette objekt, vil accessor returnerer værdien fra det overordnede objekt (som måske selv være nedarvet).
Den overordnede objekt behøver ikke at være af samme type som barnet objekt, men den skal have en metode med samme navn som den attribut s tilbehø metode (medmindre du giver en fetch_method). (Moderselskabets metode kan være en attribut tilbehø metode, men det behøver ikke at være.) Hvis den forælder ikke har den rigtige metode, får du en runtime fejl, hvis barnet forsøger at kalde det.
Som standard forventer MooseX :: AttributeTree at få det overordnede objekt ved at kalde objektets forælder metode. Du kan dog bruge enhver metode til at hente linket ved at føre den relevante parent_link til TreeInherit træk:
& Nbsp; har forfader => (
& Nbsp; er => 'rw «,
& Nbsp; ISA => 'Objekt',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; har værdi => (
& Nbsp; er => 'ro',
& Nbsp; træk => [TreeInherit => {parent_link => 'forfader'}],
& Nbsp;);
Hvis metoden returnerer undef, så arv stopper og tilbehø vil opføre sig som en normal accessor. (Normalt vil parent_link være navnet på en attribut adgangsmetode, men det behøver ikke at være).
Nogle gange er det ikke praktisk for det overordnede objekt at have en separat metode for hver egenskab, at et barn objekt måske ønsker at arve. I så fald kan du levere en fetch_method til TreeInherit træk.
& Nbsp; har other_value => (
& Nbsp; er => 'ro',
& Nbsp; træk => [TreeInherit => {fetch_method => 'get_inherited "}],
& Nbsp;);
Med fetch_method vil den nedarvede værdi kommer fra
& Nbsp; $ selv-> moder> get_inherited (»other_value ');
stedet for den sædvanlige
& Nbsp; $ selv-> moder> other_value ();
Hvis din attribut har et prædikat metode, rapporterer om attributten er sat på, at objektet. Det prædikat har ikke kendskab til nogen værdi, der kan være nedarvet fra en forælder. Det betyder, at $ objekt-> kan has_value returnere falsk, selvom $ objekt-> værdi ville returnere en værdi (arvet fra den forælder).
Ligeledes ville attribut er klarere metode (hvis nogen) rydde attribut kun på dette formål, og ville aldrig påvirke en forælder objekt.
SYNOPSIS
& Nbsp; pakke MinKlasse;
& Nbsp; bruge Moose;
& Nbsp; bruge MooseX :: AttributeTree ();
& Nbsp; har forælder => (
& Nbsp; er => 'rw «,
& Nbsp; ISA => 'Objekt',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; har værdi => (
& Nbsp; er => 'rw «,
& Nbsp; træk => [QW / TreeInherit /],
& Nbsp;)

Krav :

  • Perl

Lignende software

Tsung
Tsung

20 Feb 15

Bootchart
Bootchart

3 Jun 15

Lynis
Lynis

17 Feb 15

KDE CIM Browser
KDE CIM Browser

3 Jun 15

Andre software developer Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Kommentarer til MooseX::AttributeTree

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!