⊗ppOpTrMP 82 of 107 menu

Priorytety metod przy pracy z traitami w OOP w PHP

Jeśli klasa i trait mają metodę o tej samej nazwie, to metoda klasy nadpisze metodę traita:

<?php trait TestTrait { // Metoda o nazwie method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Taka sama metoda o nazwie method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // wyświetli 'test' - zadziałała metoda samej klasy ?>

Jeśli sama klasa nie ma takiej metody, ale występuje konflikt nazw metod traita i metod klasy nadrzędnej, to metody traita mają priorytet:

<?php trait TestTrait { // Metoda o nazwie method: public function method() { return 'trait'; } } // Klasa nadrzędna: class ParentClass { // Metoda o nazwie method: public function method() { return 'parent'; } } // Klasa dziedziczy metodę method od nadrzędnej: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // wyświetli 'trait', ponieważ trait ma priorytet ?>
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć