Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан