⊗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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა