⊗ppOpTrMP 82 of 107 menu

Prioriteit van methodes bij het werken met traits in OOP in PHP

Als een klasse en een trait een methode met dezelfde naam hebben, dan overschrijft de methode van de klasse de methode van de trait:

<?php trait TestTrait { // Methode met de naam method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Dezelfde methode met de naam method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // geeft 'test' weer - de methode van de klasse zelf werkte ?>

Als de klasse zelf zo'n methode niet heeft, maar er is een naamconflict tussen de methodes van de trait en de methodes van de bovenliggende klasse, dan hebben de methodes van de trait prioriteit:

<?php trait TestTrait { // Methode met de naam method: public function method() { return 'trait'; } } // Bovenliggende klasse: class ParentClass { // Methode met de naam method: public function method() { return 'parent'; } } // De klasse erft de methode method van de bovenliggende: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // geeft 'trait' weer, omdat de trait prioriteit heeft ?>
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren