Մի քանի տրեյթներ OOP-ում PHP-ում
Դասում կարելի է օգտագործել ոչ թե մեկ, այլ մի քանի
տրեյթներ: Սրանով էլ են դրանք առավելությունը ցուցաբերում
ժառանգման նկատմամբ: Դասում օգտագործման համար անհրաժեշտ
տրեյթները կարելի է նշել ստորակետով առանձնացնելով
use հիմնաբառից հետո:
Դիտարկենք օրինակով: Ենթադրենք ունենք երկու տրեյթ: Առաջինը:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Երկրորդը:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Օգտագործենք մեր տրեյթները դասում.
<?php
class User
{
use Helper1, Helper2; // միացնում ենք տրեյթները
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Ստեղծեք 3 տրեյթ Trait1,
Trait2 և Trait3 անուններով: Թող առաջին
տրեյթում լինի method1 մեթոդը, որը վերադարձնում է
1, երկրորդ տրեյթում - method2 մեթոդը,
որը վերադարձնում է 2, իսկ երրորդ տրեյթում
- method3 մեթոդը, որը վերադարձնում է 3:
Թող այս բոլոր մեթոդները լինեն պրիվատ:
Ստեղծեք Test դասը, որն օգտագործում է
մեր ստեղծած բոլոր երեք տրեյթները: Այս դասում
ստեղծեք պուբլիկ getSum մեթոդ,
որը վերադարձնում է միացված տրեյթների մեթոդների արդյունքների գումարը: