Mai multe trăsături în OOP în PHP
Într-o clasă poți folosi nu una, ci mai multe
trăsături. În aceasta constă avantajul lor
față de moștenire. Trăsăturile necesare pentru utilizare
în clasă pot fi specificate prin virgulă
după cuvântul cheie use.
Să vedem un exemplu. Să presupunem că avem două trăsături. Prima:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
A doua:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Să folosim trăsăturile noastre în clasă:
<?php
class User
{
use Helper1, Helper2; // conectăm trăsăturile
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Creați 3 trăsături cu numele Trait1,
Trait2 și Trait3. Fie ca în prima
trăsătură să fie metoda method1, care returnează
1, în a doua trăsătură - metoda method2,
care returnează 2, iar în a treia trăsătură
- metoda method3, care returnează 3.
Toate aceste metode să fie private.
Creați clasa Test, care folosește
toate cele trei trăsături create de noi. Creați în
această clasă o metodă publică getSum,
care returnează suma rezultatelor metodelor trăsăturilor
conectate.