⊗ppOpTrMP 82 of 107 menu

ลำดับความสำคัญของเมธอดเมื่อทำงานกับ traits ใน OOP ใน PHP

หากในคลาสและใน trait มีเมธอดที่มีชื่อเดียวกัน เมธอดของคลาสจะแทนที่ เมธอดของ trait:

<?php trait TestTrait { // เมธอดชื่อ method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // เมธอดเดียวกันชื่อ method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // จะแสดง 'test' - เมธอดของคลาสเองทำงาน ?>

หากคลาสเองไม่มีเมธอดดังกล่าว แต่มีความขัดแย้งของชื่อเมธอดระหว่าง trait และ เมธอดของคลาสแม่ เมธอดของ trait จะมีความสำคัญกว่า:

<?php trait TestTrait { // เมธอดชื่อ method: public function method() { return 'trait'; } } // คลาสแม่: class ParentClass { // เมธอดชื่อ method: public function method() { return 'parent'; } } // คลาสสืบทอดเมธอด method จากคลาสแม่: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // จะแสดง 'trait' เพราะ trait มีความสำคัญกว่า ?>
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ