MooseX::AttributeTree

Programinė įranga Screenshot:
MooseX::AttributeTree
Programinė detalės:
Versija: 0.04
Įkėlimo datą: 14 Apr 15
Licencija: Nemokamai
Populiarumas: 9

Rating: nan/5 (Total Votes: 0)

Klasės gali paveldėti atributus iš jų patronuojančių klases. Bet kartais norite atributas galės paveldėti jo vertę iš patronuojančios objektą. Pavyzdžiui, tai, kaip CSS stilių dirbti HTML.
MooseX :: AttributeTree yra Perlo modulis, kuris leidžia taikyti TreeInherit bruožas bet atributą savo klasės & nbsp;. Tai keičia būdą atributas anketa accessor metodas veikia. Skaitant atributas vertę, jei vertė buvo nustatyta, kad šis objektas atributas, accessor grįš vertę nuo patronuojančios objektą (kuris gali pats būti paveldima).
Tėvų objektas nereikia būti tokio paties tipo kaip vaiko objektas, tačiau ji turi būti būdas su tuo pačiu pavadinimu, kaip atributas anketa prieigos priemonės metodas (jei tiekiame fetch_method). (Patronuojančios metodas gali būti požymis accessor metodas, tačiau jis neturi būti.) Jei tėvų neturi tinkamą metodą, jūs gausite Klaida, jei vaikas bando jį pavadinti.
Pagal nutylėjimą, MooseX :: AttributeTree tikisi gauti patronuojančiai objektą paskambinus objekto patronuojanti metodą. Tačiau, jūs galite naudoti bet kokį metodą, gauti nuorodą, išlaikius atitinkamą parent_link į TreeInherit bruožas:
& Nbsp; yra protėvis => (
& Nbsp; yra => 'rw ",
& Nbsp; ISA => 'objektas',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; turi vertę => (
& Nbsp; yra => 'ro "
& Nbsp; bruožai => [TreeInherit => {parent_link => 'protėvį "}],
& Nbsp;);
Jei metodas grąžina neapibrėžtumą, tada paveldėjimo sustoja ir accessor elgsis kaip normalus accessor. (Paprastai parent_link bus atributo accessor metodo pavadinimas, bet ji neturi būti.)
Kartais tai nėra patogu tėvų objektas turėti atskirą metodą kiekvieno požymio, kad vaikas objektas gali norėti paveldėti. Tokiu atveju, galite tiekti fetch_method į TreeInherit bruožas.
& Nbsp; yra other_value => (
& Nbsp; yra => 'ro "
& Nbsp; bruožai => [TreeInherit => {fetch_method => 'get_inherited "}],
& Nbsp;);
Su fetch_method, paveldėjo vertė iš
& Nbsp; $ savarankiškai> parent-> get_inherited (other_value ');
vietoj įprastai
& Nbsp; $ savarankiškai> parent-> other_value ();
Jei jūsų atributas turi pirminį metodą, jis praneša, ar atributas buvo nustatyta tą objektą. Tarinys neturi žinių apie vertę, kuri gali būti paveldėtos iš tėvų. Tai reiškia, kad $ object-> has_value gali grįžti klaidinga, nors $ object-> vertė būtų grąžina reikšmę (paveldėta iš tėvų).
Be to, atributas anketa aiškiau metodas (jei tokių yra), būtų išvalyti atributą tik šio objekto ir niekada įtakos patronuojanti objektą.
APŽVALGA
& Nbsp; paketas MyClass;
& Nbsp; naudoti briedis;
& Nbsp; naudoti MooseX :: AttributeTree ();
& Nbsp; yra tėvų => (
& Nbsp; yra => 'rw ",
& Nbsp; ISA => 'objektas',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; turi vertę => (
& Nbsp; yra => 'rw ",
& Nbsp; bruožai => [qw / TreeInherit /],
& Nbsp;);

Reikalavimai :

  • Perlas "

Panaši programinė įranga

Lynis
Lynis

17 Feb 15

Duper
Duper

3 Jun 15

Postal
Postal

14 Apr 15

Kita programinė įranga kūrėjas Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Komentarai MooseX::AttributeTree

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!