⊗ppOpTrNs 84 of 107 menu

Treytlarni treytlarda qo‘llash

Treytlar, klasslarga o‘xshab, boshqa treytlardan ham foydalanishi mumkin. Keling, buni misol bilan ko‘ramiz. Faraz qilaylik, bizda ikkita metodi bo‘lgan quyidagi treyt mavjud:

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

Faraz qilaylik, bizda yana boshqa treyt mavjud:

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

Keling, Trait2 treytiga Trait1 treytini ulaymiz:

<?php trait Trait2 { use Trait1; // birinchi treytni ishlatamiz private function method3() { return 3; } } ?>

Bunday ulanishdan so‘ng, Trait2 o‘z metodlaridan tashqari, Trait1 treytining metodlariga ham ega bo‘ladi. Buni tekshiramiz: Test klassini yaratamiz, unga Trait2 treytini ulaymiz va klassimizda ham birinchi treytning, ham ikkinchi treytning metodlari paydo bo‘lishiga ishonch hosil qilamiz:

<?php class Test { use Trait2; // ikkinchi treytni ulaymiz public function __construct() { echo $this->method1(); // birinchi treytning metodi echo $this->method2(); // birinchi treytning metodi echo $this->method3(); // ikkinchi treytning metodi } } ?>

Mustaqil ravishda menga o‘xshash treytlarni yarating va ularni Test klassiga ulang. Ushbu klassda getSum metodini yarating, ulangan treytlar metodlarining natijalari yig‘indisini qaytaradigan.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish