MooseX::AttributeTree

软件截图:
MooseX::AttributeTree
软件详细信息:
版本: 0.04
上传日期: 14 Apr 15
许可: 免费
人气: 70

Rating: 2.0/5 (Total Votes: 1)

类可以继承父类的属性。但有时想要的属性,以便能够从父对象继承其值。例如,这是CSS样式的HTML是如何工作的。
MooseX :: AttributeTree是一个Perl模块,可以让你的TreeInherit特性适用于任何属性,类 这改变了属性的访问方法的工作方式。当读取属性的值,如果没有值已被设置为在该对象中的属性,所述存取器将返回从父对象的值(其本身可能被继承)。
父对象不需要是相同类型的子对象,但必须有一种方法以相同的名称属性的访问方法(除非提供一个fetch_method)。 (母公司的方法可能是一个属性访问器方法,但它并不一定要。)如果家长不具备正确的方法,如果孩子试图调用它,你会得到一个运行时错误。
默认情况下,Moo​​seX :: AttributeTree希望通过调用该对象的父类的方法来获取父对象。但是,你可以使用任何方法,通过传递适当的parent_link到TreeInherit特征检索链接:
 拥有祖先=>(
 是=>'RW“,
  ISA =>'对象',
  weak_ref => 1,
&NBSP);
 拥有价值=>(
 是=>'RO',
 特质=> [TreeInherit => {parent_link =>'祖先'}],
&NBSP);
如果该方法返回undef,然后继承停止,访问会像一个正常的访问。 (通常,parent_link将一个属性存取方法的名称,但它并不必须如此。)
有时,这不是方便父对象有一个单独的方法为每个属性的子对象可能要继承。在这种情况下,你可以提供一个fetch_method到TreeInherit特质。
 拥有other_value =>(
 是=>'RO',
 性状=> [TreeInherit => {fetch_method>'get_inherited'}],
&NBSP);
随着fetch_method,继承值将来自
  $自我>父 - > get_inherited('other_value');
而不是通常的
  $自我>父 - > other_value();
如果你的属性有一个判断方法,它报告是否已将该属性设置对象。谓词没有知识,可能从父继承任何值。这意味着,$对象 - > has_​​value可能返回false,即使$对象 - >值会返回一个值(从父继承)。
同样地,属性的更清晰的方法(如有的话)将清除只有在此对象中的属性,并且绝不会影响到一个父对象。
大纲
 包MyClass的;
 使用驼鹿;
 使用MooseX :: AttributeTree();
 有家长=>(
 是=>'RW“,
  ISA =>'对象',
  weak_ref => 1,
&NBSP);
 拥有价值=>(
 是=>'RW“,
 特质=> [QW / TreeInherit /]
 );

要求

  • 在Perl中

类似的软件

CompBenchmarks
CompBenchmarks

3 Jun 15

x-fontperf
x-fontperf

3 Jun 15

OpenHPI
OpenHPI

17 Feb 15

Duper
Duper

3 Jun 15

显影剂的其他软件 Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

意见 MooseX::AttributeTree

评论没有发现
添加评论
打开图片!