MooseX::AttributeTree

ภาพหน้าจอของซอฟแวร์:
MooseX::AttributeTree
รายละเอียดซอฟแวร์:
รุ่น: 0.04
วันที่อัพโหลด: 14 Apr 15
ผู้พัฒนา: Christopher J. Madsen
การอนุญาต: ฟรี
ความนิยม: 70

Rating: 2.0/5 (Total Votes: 1)

เรียนสามารถสืบทอดคุณลักษณะจากคลาสแม่ของพวกเขา แต่บางครั้งคุณต้องการแอตทริบิวต์ที่จะสามารถสืบทอดค่าจากวัตถ​​ุแม่ ยกตัวอย่างเช่นที่ว่า CSS รูปแบบการทำงานในรูปแบบ HTML
MooseX :: AttributeTree เป็นโมดูล Perl ที่ช่วยให้คุณสามารถใช้ลักษณะ TreeInherit แอตทริบิวต์ใด ๆ ในชั้นเรียนของคุณ & nbsp;. นี้จะเปลี่ยนวิธีการทำงานวิธีการเข้าถึงของแอตทริบิวต์ เมื่ออ่านค่าของแอตทริบิวต์ถ้าไม่มีค่าที่ได้รับการตั้งค่าสำหรับคุณลักษณะในวัตถุนี้, การเข้าถึงจะกลับค่าจากวัตถ​​ุแม่ (ที่ตัวเองอาจจะได้รับมรดก)
วัตถุแม่ไม่จำเป็นต้องเป็นชนิดเดียวกับวัตถุเด็ก แต่จะต้องมีวิธีการที่มีชื่อเดียวกันเป็นวิธีการเข้าถึงของแอตทริบิวต์ (เว้นแต่คุณจะจัดหา fetch_method) (วิธีการของผู้ปกครองอาจจะเป็นวิธีการเข้าถึงแอตทริบิวต์ แต่มันไม่จำเป็นต้องเป็น.) ถ้าผู้ปกครองไม่ได้มีวิธีการที่เหมาะสมที่คุณจะได้รับข้อผิดพลาด runtime ถ้าเด็กพยายามที่จะเรียกมันว่า
โดยค่าเริ่มต้น MooseX :: AttributeTree คาดว่าจะได้รับวัตถุแม่โดยเรียกวิธีการที่ผู้ปกครองของวัตถุ อย่างไรก็ตามคุณสามารถใช้วิธีการใด ๆ เพื่อดึงการเชื่อมโยงโดยผ่าน parent_link เหมาะสมกับลักษณะ TreeInherit:
& nbsp; มีบรรพบุรุษ => (
& nbsp; เป็น => 'RW',
& nbsp; ISA => 'วัตถุ'
& nbsp; weak_ref => 1
& nbsp;);
& nbsp; มีค่า => (
& nbsp; เป็น => 'ro',
& nbsp; ลักษณะ => [TreeInherit => {parent_link => 'บรรพบุรุษ'}]
& nbsp;);
หากวิธีการส่งกลับ undef แล้วหยุดมรดกและการเข้าถึงจะทำตัวเหมือน accessor ​​ปกติ (โดยปกติ parent_link จะเป็นชื่อของวิธีการเข้าถึงแอตทริบิวต์ แต่มันไม่จำเป็นต้องเป็น.)
บางครั้งก็ไม่สะดวกสำหรับวัตถุแม่จะมีวิธีการที่แยกต่างหากสำหรับแต่ละแอตทริบิวต์ที่วัตถุเด็กอาจต้องการที่จะได้รับมรดก ในกรณีที่คุณสามารถจัดหา fetch_method กับลักษณะ TreeInherit
& nbsp; มี other_value => (
& nbsp; เป็น => 'ro',
& nbsp; ลักษณะ => [TreeInherit => {fetch_method => 'get_inherited'}]
& nbsp;);
ด้วย fetch_method มูลค่าสืบทอดจะมาจาก
& nbsp; $ ตนเอง> parent-> get_inherited ('other_value');
แทนการตามปกติ
& nbsp; $ ตนเอง> parent-> other_value ();
ถ้าแอตทริบิวต์ของคุณมีวิธีการวินิจฉัยจะรายงานว่าแอตทริบิวต์ที่ได้รับการตั้งอยู่บนวัตถุที่ คำกริยามีความรู้ที่มีค่าใด ๆ ที่อาจจะได้รับมรดกจากพ่อแม่ไม่มี ซึ่งหมายความว่า $ วัตถุ> has_​​value อาจกลับเท็จแม้ว่า $ วัตถุ> ค่าจะกลับมาค่า (รับมรดกมาจากพ่อแม่)
ในทำนองเดียวกันวิธีการที่ชัดเจนของแอตทริบิวต์ (ถ้ามี) จะล้างแอตทริบิวต์เฉพาะในวัตถุนี้และจะไม่ส่งผลกระทบต่อวัตถุแม่
สรุป
& nbsp; MyClass แพคเกจ;
& nbsp; ใช้มูส;
& nbsp; ใช้ MooseX :: AttributeTree ();
& nbsp; มีแม่ => (
& nbsp; เป็น => 'RW',
& nbsp; ISA => 'วัตถุ'
& nbsp; weak_ref => 1
& nbsp;);
& nbsp; มีค่า => (
& nbsp; เป็น => 'RW',
& nbsp; ลักษณะ => [QW / TreeInherit /]
& nbsp;);

ต้องการ

  • Perl

ซอฟต์แวร์ที่คล้ายกัน

x-fontperf
x-fontperf

3 Jun 15

Netio
Netio

3 Jun 15

PTT
PTT

3 Jun 15

Iometer
Iometer

2 Jun 15

ซอฟแวร์อื่น ๆ ของนักพัฒนา Christopher J. Madsen

VBinDiff
VBinDiff

2 Jun 15

mktime
mktime

2 Jun 15

ความคิดเห็นที่ MooseX::AttributeTree

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่