⊗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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан