⊗ppOpTrMP 82 of 107 menu

Prioridade de métodos ao trabalhar com traits na POO em PHP

Se uma classe e uma trait tiverem um método com o mesmo nome, o método da classe substituirá o método da trait:

<?php trait TestTrait { // Método com o nome method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Método igual com o nome method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // exibirá 'test' - o método da própria classe foi executado ?>

Se a própria classe não tiver esse método, mas houver um conflito de nomes entre os métodos da trait e os métodos da classe pai, então os métodos da trait têm prioridade:

<?php trait TestTrait { // Método com o nome method: public function method() { return 'trait'; } } // Classe pai: class ParentClass { // Método com o nome method: public function method() { return 'parent'; } } // A classe herda o método method da classe pai: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // exibirá 'trait', pois a trait tem prioridade ?>
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar