MooseX::AttributeTree

Screenshot Software:
MooseX::AttributeTree
Detalii soft:
Versiune: 0.04
Incarca data: 14 Apr 15
Producător: Christopher J. Madsen
Licenţă: Gratuit
Popularitate: 9

Rating: nan/5 (Total Votes: 0)

Clasele pot moșteni atribute din clasele lor mamă. Dar, uneori, vrei un atribut să fie în măsură să moștenească valoarea sa de la un obiect părinte. De exemplu, așa stilurile CSS funcționează în HTML.
MooseX :: AttributeTree este un modul Perl care vă permite să aplice trasatura TreeInherit la orice atribut în clasa ta. & Nbsp; Acest lucru schimbă modul în metoda accesor atributului lucrează. Citind valoarea atributului, în cazul în care nici o valoare a fost stabilit pentru atributul în acest obiect, accessor va returna valoarea de obiectul părinte (care ar putea fi el însuși moștenit).
Obiectul mamă nu trebuie să fie de același tip ca și obiect copil, dar trebuie să aibă o metodă cu același nume ca și metodă accesor atributului (cu excepția cazului în care le furnizați un fetch_method). (Metoda mamă lui poate fi o metodă atribut accesor, dar aceasta nu trebuie să fie.) Dacă părintele nu are dreptul de metoda, veți primi o eroare de execuție în cazul în care copilul încearcă să-i spunem.
În mod implicit, MooseX :: AttributeTree se așteaptă pentru a obține obiectul părinte prin apelarea metodă mamă a obiectului. Cu toate acestea, puteți utiliza orice metodă pentru a prelua link-ul prin trecerea parent_link adecvat pentru trasatura TreeInherit:
& Nbsp; are strămoș => (
& Nbsp; este => 'rw ",
& Nbsp; ISA => "Obiectul",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; are valoare => (
& Nbsp; este => 'ro',
& Nbsp; trasaturi => [TreeInherit => {parent_link => 'strămoș'}],
& Nbsp;);
Dacă metoda returneaza undef, apoi moștenire oprește și accessor se va comporta ca un accessor normal. (În mod normal, parent_link va fi numele unei metode atribut accesor, dar aceasta nu trebuie să fie.)
Uneori nu e convenabil pentru obiectul părinte de a avea o metodă separată pentru fiecare atribut care un obiect copil ar putea dori să moștenească. În acest caz, puteți furniza o fetch_method pentru trasatura TreeInherit.
& Nbsp; are other_value => (
& Nbsp; este => 'ro',
& Nbsp; trasaturi => [TreeInherit => {fetch_method => 'get_inherited'}],
& Nbsp;);
Cu fetch_method, valoarea moștenit va veni de la
& Nbsp; $ auto> părinte> get_inherited ("other_value");
schimbată cu cea
& Nbsp; $ auto> părinte> other_value ();
În cazul în care atributul are o metodă predicat, raportează dacă atributul a fost setat pe acel obiect. Predicatul nu are cunoștință de orice valoare care ar putea fi moștenit de la un părinte. Acest lucru înseamnă că $ object-> has_value poate reveni fals chiar dacă $ object-> valoare se va întoarce o valoare (moștenit de la mamă).
De asemenea, metoda clară atributul (dacă există) va șterge atributul numai pe acest obiect, și nu ar afecta un obiect părinte.
REZUMAT
& Nbsp; pachet MyClass;
& Nbsp; utilizați Moose;
& Nbsp; utilizați MooseX :: AttributeTree ();
& Nbsp; are mamă => (
& Nbsp; este => 'rw ",
& Nbsp; ISA => "Obiectul",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; are valoare => (
& Nbsp; este => 'rw ",
& Nbsp; trasaturi => [QW / TreeInherit /],
& Nbsp;);

Cerințe :

  • Perl

Software similare

Lynis
Lynis

17 Feb 15

Iometer
Iometer

2 Jun 15

Tsung
Tsung

20 Feb 15

Alte software-uri de dezvoltator Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Comentarii la MooseX::AttributeTree

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!