MooseX::AttributeTree

Софтуер снимки:
MooseX::AttributeTree
Софтуер детайли:
Версия: 0.04
Дата на качване: 14 Apr 15
Розробник: Christopher J. Madsen
Разрешително: Безплатно
Популярност: 9

Rating: nan/5 (Total Votes: 0)

класове могат да наследят атрибути от техните класове майки. Но понякога искате атрибут, за да може да наследи неговата стойност от родител обект. Например, това е начина, стилове CSS работят в HTML.
MooseX :: AttributeTree е модул Perl, който ви позволява да се приложи TreeInherit черта на всеки атрибут във вашия клас & Nbsp;. Това променя начина, по който метод Accessor атрибута произведения. Когато четете стойност на атрибута си, ако няма стойност е определена за атрибута в този обект, на Accessor ще върне стойност от родителски обект (който може да се бъде наследен).
Обектът майка не трябва да бъде от същия тип като на дете обекта, но той трябва да има метод със същото име като метод Accessor атрибута е (освен ако не доставяме fetch_method). (Метод Родителят може да бъде атрибут Accessor метод, но тя не трябва да бъде.) Ако родителят не е правилният начин, вие ще получите по време на работа грешка, ако детето се опитва да го наричат.
По подразбиране, MooseX :: AttributeTree очаква да получи родителски обект, като се обадите метод майка на обекта. Въпреки това, можете да използвате всеки метод за извличане на връзката чрез преминаване на подходящо parent_link до чертата TreeInherit:
& Nbsp; има прародител => (
& Nbsp; е => "RW",
& Nbsp; ISA => "Object",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; има стойност => (
& Nbsp; е => "ро",
& Nbsp; черти => [TreeInherit => {parent_link => "прародител"}],
& Nbsp;);
Ако методът връща undef, тогава наследството спира и Accessor ще се държи като нормален Accessor. (Обикновено, parent_link ще бъде името на атрибут Accessor метод, но тя не трябва да бъде.)
Понякога това не е удобно за родителски обект да има отделен метод за всеки белег, че едно дете обект може да искате да наследят. В този случай, можете да доставяме fetch_method до чертата TreeInherit.
& Nbsp; има other_value => (
& Nbsp; е => "ро",
& Nbsp; черти => [TreeInherit => {fetch_method => 'get_inherited'}],
& Nbsp;);
С fetch_method, наследената стойност ще дойде от
& Nbsp; $ самостоятелно> родителство> get_inherited ("other_value");
Вместо обичайните
& Nbsp; $ самостоятелно> родителство> other_value ();
Ако си атрибут има метод предикат, то се отчита дали атрибутът е разположен на този обект. The предикат не знае за всяка стойност, която може да бъде наследен от родител. Това означава, че $ обектно> has_value може връщане фалшиви макар $ обектно> стойност ще върне стойност (наследена от майка).
По същия начин, по-ясен начин атрибута (ако има такъв) ще изчисти атрибут само за тази оферта, и никога няма да се отрази на майка обект.
<Силен> SYNOPSIS
& Nbsp; пакет MyClass;
& Nbsp; използвайте лос;
& Nbsp; използвайте MooseX :: AttributeTree ();
& Nbsp; има майка => (
& Nbsp; е => "RW",
& Nbsp; ISA => "Object",
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; има стойност => (
& Nbsp; е => "RW",
& Nbsp; черти => [QW / TreeInherit /],
& Nbsp;);

<силни> Изисквания :

  • Perl

Подобен софтуер

mubench
mubench

3 Jun 15

HPC Challenge
HPC Challenge

12 May 15

odbc-bench
odbc-bench

14 Apr 15

Netio
Netio

3 Jun 15

Друг софтуер на разработчика Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

Коментари към MooseX::AttributeTree

Коментари не е намерена
добавите коментар
Включете на изображения!