MooseX::AttributeTree

Screenshot Software:
MooseX::AttributeTree
Szczegóły programowe:
Wersja: 0.04
Filmu: 14 Apr 15
Wywoływacz: Christopher J. Madsen
Licencja: Wolny
Popularność: 9

Rating: nan/5 (Total Votes: 0)

Nauka może dziedziczyć atrybuty z ich klas nadrzędnych. Ale czasami chcesz atrybut, aby móc odziedziczyć swoją wartość z obiektu nadrzędnego. Na przykład, to jak style CSS działa w HTML.
MooseX :: AttributeTree to moduł Perla, który pozwala na zastosowanie cechę TreeInherit do każdego atrybutu w klasie. & Nbsp; To zmienia sposób metody dostępowe atrybutu działa. Podczas odczytu wartości atrybutu, jeśli wartość nie została ustawiona dla atrybutu w tym obiekcie, akcesor zwróci wartość z obiektu nadrzędnego (co samo w sobie może być dziedziczona).
Obiekt rodzic nie musi być tego samego typu, co obiekt dzieci, ale musi mieć metodę o tej samej nazwie, jak metody akcesor atrybutu (jeśli podamy fetch_method). (Metoda jednostki dominującej może być metoda atrybut dostępowe, ale to nie musi być.) Jeżeli rodzic nie ma odpowiedniej metody, otrzymasz błąd wykonania, jeśli dziecko próbuje nazwać.
Domyślnie MooseX :: AttributeTree spodziewa się uzyskać obiektu nadrzędnego poprzez wywołanie metody nadrzędnego obiektu. Jednakże, można użyć dowolnej metody, aby pobrać link przekazując odpowiednią parent_link do cechy TreeInherit:
& Nbsp; ma przodka => (
& Nbsp; to => "rw",
& Nbsp; isa => 'Obiekt',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; ma wartość => (
& Nbsp; to => "ro",
& Nbsp; Cechy => [TreeInherit => {parent_link => "przodka"}],
& Nbsp;);
Jeśli metoda zwraca undef, a następnie zatrzymuje się i dziedziczenie Akcesor będzie zachowywać się jak normalny akcesor. (Normalnie parent_link będzie nazwa metody atrybutu dostępowe, ale to nie musi być.)
Czasami to nie jest wygodne dla obiekt nadrzędny jest oddzielne metody dla każdego atrybutu obiektu dziecko może chcieć odziedziczyć. W tym przypadku, można dostarczyć fetch_method do cechy TreeInherit.
& Nbsp; ma other_value => (
& Nbsp; to => "ro",
& Nbsp; Cechy => [TreeInherit => {fetch_method => 'get_inherited'}],
& Nbsp;);
Z fetch_method, dziedziczona wartość będzie pochodzić z
& Nbsp; $ samo-> rodzicielstwa> get_inherited ("other_value ');
zamiast zwykle
& Nbsp; $ samo-> rodzicielstwa> other_value ();
Jeśli atrybut ma metodę źródłowe, zgłasza, czy atrybut został ustawiony na tym obiekcie. Orzecznik nie ma wiedzy o dowolnej wartości, które mogą być dziedziczone od rodziców. Oznacza to, że $ obiekt-> has_value może return false chociaż $ obiekt-> Wartość zwróci wartość (odziedziczoną z rodziców).
Podobnie, bardziej przejrzyste metody atrybutu (jeśli istnieje) będzie usunąć atrybut tylko na tym obiekcie, i nigdy nie wpływa na obiekt nadrzędny.
OPIS FILMU
& Nbsp; Pakiet MojaKlasa;
& Nbsp; skorzystać Moose;
& Nbsp; skorzystać MooseX :: AttributeTree ();
& Nbsp; ma rodzica => (
& Nbsp; to => "rw",
& Nbsp; isa => 'Obiekt',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; ma wartość => (
& Nbsp; to => "rw",
& Nbsp; Cechy => [qw / TreeInherit /],
& Nbsp;);

Wymagania :

  • Perl

Podobne oprogramowanie

odbc-bench
odbc-bench

14 Apr 15

RUBiS
RUBiS

3 Jun 15

KDE CIM Browser
KDE CIM Browser

3 Jun 15

Bootchart
Bootchart

3 Jun 15

Inne programy z deweloperem Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Komentarze do MooseX::AttributeTree

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!