⊗ppOpTrMT 78 of 107 menu

Várias Traits em POO no PHP

Em uma classe, você pode usar não apenas uma, mas várias traits. É nisso que reside sua vantagem em relação à herança. As traits necessárias para uso na classe podem ser especificadas separadas por vírgula após a palavra-chave use.

Vamos ver um exemplo. Suponha que temos duas traits. A primeira:

<?php trait Helper1 { private $name; public function getName() { return $this->name; } } ?>

A segunda:

<?php trait Helper2 { private $age; public function getAge() { return $this->age; } } ?>

Vamos usar nossas traits na classe:

<?php class User { use Helper1, Helper2; // conectamos as traits public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

Crie 3 traits com os nomes Trait1, Trait2 e Trait3. Deixe que na primeira trait haja um método method1, retornando 1, na segunda trait - um método method2, retornando 2, e na terceira trait - um método method3, retornando 3. Deixe todos esses métodos como privados.

Crie uma classe Test, utilizando todas as três traits que criamos. Crie nessa classe um método público getSum, que retorna a soma dos resultados dos métodos das traits conectadas.

idruuzcdahi