⊗ppOpTrMP 82 of 107 menu

Priorità dei metodi quando si lavora con i tratti nella OOP in PHP

Se una classe e un tratto hanno un metodo con lo stesso nome, il metodo della classe sovrascriverà il metodo del tratto:

<?php trait TestTrait { // Metodo con nome method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Lo stesso metodo con nome method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // visualizzerà 'test' - è stato eseguito il metodo della classe stessa ?>

Se la classe stessa non ha un tale metodo, ma c'è un conflitto di nomi tra i metodi del tratto e i metodi della classe genitore, allora i metodi del tratto hanno priorità:

<?php trait TestTrait { // Metodo con nome method: public function method() { return 'trait'; } } // Classe genitore: class ParentClass { // Metodo con nome method: public function method() { return 'parent'; } } // La classe eredita il metodo method dal genitore: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // visualizzerà 'trait', poiché il tratto ha priorità ?>
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta