Տրեյթների օգտագործումը տրեյթներում
Տրեյթները, նման դասերին, կարող են օգտագործել նաև այլ տրեյթներ: Եկեք նայենք օրինակով: Ենթադրենք ունենք այսպիսի տրեյթ երկու մեթոդներով:
<?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 մեթոդը,
որը վերադարձնում է միացված տրեյթների մեթոդների
արդյունքների գումարը: