⊗ppOpTrNs 84 of 107 menu

Използване на трейтове в трейтове

Трейтовете, подобно на класовете, също могат да използват други трейтове. Нека да разгледаме пример. Да предположим, че имаме следния трейт с два метода:

<?php trait Trait1 { private function method1() { return 1; } private function method2() { return 2; } } ?>

Да предположим, че имаме и още един трейт:

<?php trait Trait2 { private function method3() { return 3; } } ?>

Нека към трейта Trait2 подключим трейта Trait1:

<?php trait Trait2 { use Trait1; // използваме първия трейт private function method3() { return 3; } } ?>

След такова подключение ще се получи, че Trait2 освен собствените си методи ще има и методите на трейта Trait1. Нека проверим това: ще направим клас Test, ще подключим към него трейта Trait2 и ще се убедим, че в нашия клас ще се появят методи както на първия трейт, така и на втория:

<?php class Test { use Trait2; // подключваме втория трейт public function __construct() { echo $this->method1(); // метод на първия трейт echo $this->method2(); // метод на първия трейт echo $this->method3(); // метод на втория трейт } } ?>

Самостоятелно направете същите трейтове, както при мен и ги подключете към класа Test. Направете в този клас метод getSum, връщащ сумата от резултатите на методите на подключените трейтове.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне