MooseX::AttributeTree

Yazılım ekran görüntüsü:
MooseX::AttributeTree
Yazılım detaylar:
Versiyon: 0.04
Qayıt: 14 Apr 15
Geliştirici: Christopher J. Madsen
Lisans: Ücretsiz
Popülerlik: 9

Rating: nan/5 (Total Votes: 0)

Sınıflar kendi ana sınıfları özelliklerini devralabilir. Ama bazen bir nitelik, bir üst nesneden değerini miras edebilmek istiyorum. CSS stilleri HTML nasıl Örneğin, bu.
MooseX :: AttributeTree size sınıfında herhangi bir öznitelik için TreeInherit özelliği uygulamak için izin veren bir Perl modülü. & Nbsp; Bu niteliğin erişimci yöntemi çalışma şeklini değiştirir. Niteliğin değerini okurken hiçbir değer bu nesne özellik için ayarlanmış olup olmadığını, erişgeç (kendisi miras olabilir) üst nesneden değeri dönecektir.
Üst nesne, alt nesne olarak aynı tip olması gerekmez, ama (bir fetch_method tedarik sürece) niteliğin erişimci yöntemi olarak aynı adı taşıyan bir yöntem olmalıdır. (Ebeveynin yöntemi bir nitelik erişimci yöntem olabilir, ama olmak zorunda değildir.) Ana doğru bir yöntem yoksa, çocuk onu aramak için çalışırsa, bir çalışma zamanı hatası alırsınız.
Varsayılan olarak, MooseX :: AttributeTree nesnenin üst yöntemini çağırarak üst nesne almak için bekliyor. Ancak, TreeInherit özellik uygun parent_link geçirerek bağlantıyı almak için herhangi bir yöntemi kullanabilirsiniz:
& Nbsp; sahip atası => (
& Nbsp; => 'rw' olduğunu,
& Nbsp; isa => 'Object',
& Nbsp; weak_ref => 1,
& Nbsp);
& Nbsp; => (değerine sahip
& Nbsp; => 'ro' olduğunu,
& Nbsp; özellikleri => [TreeInherit => {parent_link => 'atası'}],
& Nbsp);
Yöntem undef dönerse, o zaman miras durur ve erişimci normal bir erişimci gibi davranacaktır. (Normalde, parent_link bir nitelik Erişimci yöntemin adı olacaktır, ama olmak zorunda değildir.)
Her bir alt nesne miras isteyebilirsiniz özniteliği için üst nesne ayrı bir yöntem olması için Bazen uygun değil. Bu durumda, TreeInherit özelliği bir fetch_method sağlayabilmektedir.
& Nbsp; vardır other_value => (
& Nbsp; => 'ro' olduğunu,
& Nbsp; özellikleri => [TreeInherit => {fetch_method => 'get_inherited'}]
& Nbsp);
Fetch_method ile, miras değeri gelecek
& Nbsp; $ öz> veli> ('other_value') get_inherited;
yerine her zamanki
& Nbsp; $ öz> veli> other_value ();
Senin nitelik bir yüklem yöntemi varsa, bu özellik o nesne üzerinde ayarlanmış olup olmadığını bildirir. yüklem, bir ebeveynden gelen olabilecek değer hiçbir bilgiye sahip. Bu $ nesneye ki> has_value return false olabilir anlamına gelse $ nesneye olsa> (ebeveynden gelen) bir değer dönecekti değer.
Aynı şekilde, niteliğin en net yöntemi (varsa) sadece bu nesne üzerinde niteliği açacak ve bir üst nesne etkilemez asla.
ÖZET
& Nbsp; paket Sınıfım;
& Nbsp; Moose kullanın;
& Nbsp) (MooseX :: AttributeTree kullanma;
& Nbsp; => (üst vardır
& Nbsp; => 'rw' olduğunu,
& Nbsp; isa => 'Object',
& Nbsp; weak_ref => 1,
& Nbsp);
& Nbsp; => (değerine sahip
& Nbsp; => 'rw' olduğunu,
& Nbsp; özellikleri => [qw / TreeInherit /],
& Nbsp;);

Gereksinimler :

  • Perl

Benzer yazılım

UMark
UMark

3 Jun 15

CompBenchmarks
CompBenchmarks

3 Jun 15

Geliştirici Diğer yazılım Christopher J. Madsen

mktime
mktime

2 Jun 15

VBinDiff
VBinDiff

2 Jun 15

Yorumlar MooseX::AttributeTree

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!