⊗ppOpTrMP 82 of 107 menu

Prioridad de métodos al trabajar con traits en POO en PHP

Si una clase y un trait tienen un método homónimo, el método de la clase anulará el método del trait:

<?php trait TestTrait { // Método con nombre method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // El mismo método con nombre method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // mostrará 'test' - se ejecutó el método de la clase misma ?>

Si la clase misma no tiene tal método, pero hay un conflicto de nombres entre los métodos del trait y los métodos de la clase padre, entonces los métodos del trait tienen prioridad:

<?php trait TestTrait { // Método con nombre method: public function method() { return 'trait'; } } // Clase padre: class ParentClass { // Método con nombre method: public function method() { return 'parent'; } } // La clase hereda el método method del padre: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // mostrará 'trait', porque el trait tiene prioridad ?>
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar