⊗ppOpTrNs 84 of 107 menu

Treytlerin treytlerde istifadesi

Treytlər, siniflər kimi, həmçinin digər treytlərdən istifadə edə bilər. Gəlin bir nümunəyə baxaq. Tutaq ki, bizim burada iki metodu olan belə bir treyt var:

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

Tutaq ki, bizim həmçinin başqa bir treyt var:

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

Gəlin Trait2 treytinə Trait1 treytini qoşaq:

<?php trait Trait2 { use Trait1; // birinci treyti istifadə edirik private function method3() { return 3; } } ?>

Belə bir qoşulmadan sonra Trait2 treytinin öz metodlarından əlavə, Trait1 treytinin metodları da olacaq. Gəlin bunu yoxlayaq: Test sinifi yaradaq, ona Trait2 treytini qoşaq və sinifimizdə həm birinci treytin, həm də ikinci treytin metodlarının peyda olduğuna əmin olaq:

<?php class Test { use Trait2; // ikinci treyti qoşuruq public function __construct() { echo $this->method1(); // birinci treytin metodu echo $this->method2(); // birinci treytin metodu echo $this->method3(); // ikinci treytin metodu } } ?>

Özünüz mənimki kimi eyni treytləri düzəldin və onları Test sinfinə qoşun. Bu sinifdə getSum metodunu düzəldin, hansı ki, qoşulmuş treytlərin metodlarının nəticələrinin cəmini qaytarır.

azbydeenesfrkakkptruuz