⊗ppOpTrMP 82 of 107 menu

Menetelmien prioriteetti piirteiden kanssa työskennellessä OOP:ssa PHP:ssä

Jos luokassa ja piirteessä on samanniminen menetelmä, niin luokan menetelmä korvaa piirteen menetelmän:

<?php trait TestTrait { // Menetelmä nimeltä method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Samanniminen menetelmä nimeltä method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // tulostaa 'test' - luokan oma menetelmä toimi ?>

Jos luokalla itsellään ei ole sellaista menetelmää, mutta on nimen conflict piirteen menetelmien ja parent classin menetelmien välillä, niin piirteen menetelmillä on prioriteetti:

<?php trait TestTrait { // Menetelmä nimeltä method: public function method() { return 'trait'; } } // Parent class: class ParentClass { // Menetelmä nimeltä method: public function method() { return 'parent'; } } // Luokka perii menetelmän method parent classilta: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo test->method(); // tulostaa 'trait', koska piirteellä on prioriteetti ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää