MooseX::AttributeTree

Software screenshot:
MooseX::AttributeTree
Rincian Software:
Versi: 0.04
Tanggal Upload: 14 Apr 15
Lisensi: Gratis
Popularitas: 9

Rating: nan/5 (Total Votes: 0)

Kelas dapat mewarisi atribut dari kelas induknya. Tapi kadang-kadang Anda ingin atribut untuk dapat mewarisi nilai dari objek induk. Sebagai contoh, begitulah gaya CSS bekerja dalam HTML.
MooseX :: AttributeTree adalah modul Perl yang memungkinkan Anda untuk menerapkan sifat TreeInherit untuk setiap atribut di kelas Anda & nbsp;. Ini mengubah cara metode accessor atribut ini bekerja. Ketika membaca nilai atribut itu, jika tidak ada nilai yang ditetapkan untuk atribut dalam objek ini, accessor akan mengembalikan nilai dari objek induk (yang mungkin sendiri diwariskan).
Objek induk tidak perlu jenis yang sama sebagai objek anak, tetapi harus memiliki sebuah metode dengan nama yang sama sebagai metode accessor atribut itu (kecuali jika Anda menyediakan fetch_method a). (Metode orangtua mungkin menjadi metode atribut accessor, tetapi tidak harus.) Jika orangtua tidak memiliki metode yang tepat, Anda akan mendapatkan error runtime jika anak mencoba untuk menyebutnya.
Secara default, MooseX :: AttributeTree mengharapkan untuk mendapatkan obyek induk dengan memanggil metode orangtua objek. Namun, Anda dapat menggunakan metode apapun untuk mengambil link dengan melewati parent_link sesuai dengan sifat TreeInherit:
& Nbsp; memiliki nenek moyang => (
& Nbsp; adalah => 'rw',
& Nbsp; isa => 'Obyek',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; memiliki nilai => (
& Nbsp; adalah => 'ro',
& Nbsp; sifat => [TreeInherit => {parent_link => 'nenek moyang'}],
& Nbsp;);
Jika metode mengembalikan undef, maka warisan berhenti dan accessor akan berperilaku seperti accessor normal. (Biasanya, parent_link akan menjadi nama metode atribut accessor, tetapi tidak harus.)
Kadang-kadang tidak nyaman untuk objek orangtua untuk memiliki metode terpisah untuk setiap atribut bahwa benda anak mungkin ingin mewarisi. Dalam hal ini, Anda dapat menyediakan fetch_method ke sifat TreeInherit.
& Nbsp; memiliki other_value => (
& Nbsp; adalah => 'ro',
& Nbsp; sifat => [TreeInherit => {fetch_method => 'get_inherited'}],
& Nbsp;);
Dengan fetch_method, nilai warisan akan datang dari
& Nbsp; $ diri> orangtua> get_inherited ('other_value');
bukannya biasa
& Nbsp; $ diri> orangtua> other_value ();
Jika atribut Anda memiliki metode predikat, itu laporan apakah atribut telah ditetapkan pada objek itu. Predikat tidak memiliki pengetahuan tentang nilai apapun yang mungkin diwarisi dari orangtua. Ini berarti bahwa $ object> has_value dapat kembali palsu meskipun $ object> nilai akan mengembalikan nilai (diwarisi dari orangtua).
Demikian juga, metode atribut yang jelas (jika ada) akan menghapus atribut hanya pada objek ini, dan tidak pernah akan mempengaruhi objek orangtua.
Sinopsis
& Nbsp; paket MyClass;
& Nbsp; menggunakan Moose;
& Nbsp; menggunakan MooseX :: AttributeTree ();
& Nbsp; memiliki orangtua => (
& Nbsp; adalah => 'rw',
& Nbsp; isa => 'Obyek',
& Nbsp; weak_ref => 1,
& Nbsp;);
& Nbsp; memiliki nilai => (
& Nbsp; adalah => 'rw',
& Nbsp; sifat => [qw / TreeInherit /],
& Nbsp;);

Persyaratan :

  • Perl

Software yang serupa

bandwidth
bandwidth

20 Feb 15

Duper
Duper

3 Jun 15

Perangkat lunak lain dari pengembang Christopher J. Madsen

mktime
mktime

2 Jun 15

VBinDiff
VBinDiff

2 Jun 15

Komentar untuk MooseX::AttributeTree

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!