⊗ppOpTrMP 82 of 107 menu

Prioritering av metoder vid arbete med traits i OOP i PHP

Om det finns en metod med samma namn i klassen och i traitet, kommer klassens metod att åsidosätta traitets metod:

<?php trait TestTrait { // Metod med namnet method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Samma metod med namnet method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // skriver ut 'test' - klassens metod fungerade ?>

Om själva klassen inte har en sådan metod, men det finns en namnfångst mellan traitets metoder och föräldraklassens metoder, har traitets metoder prioritet:

<?php trait TestTrait { // Metod med namnet method: public function method() { return 'trait'; } } // Föräldraklass: class ParentClass { // Metod med namnet method: public function method() { return 'parent'; } } // Klassen ärver metoden method från föräldern: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // skriver ut 'trait', eftersom traitet har prioritet ?>
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa