Več lastnosti (traits) v OOP v PHP
V razredu lahko uporabite ne eno, ampak več
lastnosti (traits). V tem se kaže njihova prednost
pred dedovanjem. Želene lastnosti (traits) za uporabo
v razredu lahko navedete z vejico
za ključno besedo use.
Poglejmo si na primeru. Recimo, da imamo dve lastnosti (traits). Prva:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Druga:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Uporabimo naši lastnosti (traits) v razredu:
<?php
class User
{
use Helper1, Helper2; // povežemo lastnosti (traits)
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Naredite 3 lastnosti (traits) z imeni Trait1,
Trait2 in Trait3. Naj bo v prvi
lastnosti (trait) metoda method1, ki vrne
1, v drugi lastnosti (trait) - metoda method2,
ki vrne 2, in v tretji lastnosti (trait)
- metoda method3, ki vrne 3.
Naj bodo vse te metode zasebne.
Naredite razred Test, ki uporablja
vse tri ustvarjene lastnosti (traits). Naredite v
tem razredu javno metodo getSum,
ki vrne vsoto rezultatov metod priključenih
lastnosti (traits).