⊗ppOpTrMP 82 of 107 menu

Приоритет на методите при работа со трејтови во ООП во PHP

Ако во класа и во трејт постои метод со исто име, тогаш методот на класата ќе го замени методот на трејтот:

<?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' - се активирал методот на самата класа ?>

Ако самата класа нема таков метод, но постои конфликт на имиња помеѓу методите на трејтот и методите на родителската класа, тогаш методите на трејтот имаат приоритет:

<?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', бидејќи трејтот има приоритет ?>
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј