Több trait az OOP-ban PHP-ben
Egy osztályban nem csak egy, hanem több
trait is használható. Ebben mutatkozik meg az előnyük
az örökléssel szemben. Az osztályban használni kívánt
trait-eket vesszővel elválasztva adhatjuk meg
a use kulcsszó után.
Nézzük ezt egy példán. Tegyük fel, hogy van két trait-ünk. Az első:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
A második:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Használjuk trait-jeinket az osztályban:
<?php
class User
{
use Helper1, Helper2; // trait-ek csatlakoztatása
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Készítsen 3 trait-et Trait1,
Trait2 és Trait3 elnevezéssel. Legyen az első
trait-ben egy method1 metódus, amely
1-et ad vissza, a második trait-ben - egy method2 metódus,
amely 2-t ad vissza, a harmadik trait-ben
pedig - egy method3 metódus, amely 3-at ad vissza.
Legyenek ezek a metódusok privátok.
Készítsen egy Test osztályt, amely
mind a három általunk létrehozott trait-et használja. Készítsen
ebben az osztályban egy getSum publikus metódust,
amely a csatlakoztatott trait-ek metódusainak eredményeinek összegét adja vissza.