⊗ppOpTrMT 78 of 107 menu

Flere træk i OOP i PHP

I en klasse kan du bruge ikke et, men flere træk. Det er her deres fordel kommer til udtryk frem for arv. De træk, der skal bruges i klassen, kan angives adskilt af komma eft nøgleordet use.

Lad os se på et eksempel. Antag, at vi har to træk. Den første:

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

Den anden:

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

Lad os bruge vores træk i klassen:

<?php class User { use Helper1, Helper2; // tilslutter træk public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

Lav 3 træk med navnene Trait1, Trait2 og Trait3. Lad i den første træk være en metode method1, der returnerer 1, i den anden træk - en metode method2, der returnerer 2, og i den tredje træk - en metode method3, der returnerer 3. Lad alle disse metoder være private.

Lav en klasse Test, der bruger alle tre af vores oprettede træk. Lav i denne klasse en offentlig metode getSum, der returnerer summen af resultaterne af metoderne fra de tilsluttede træk.

esbyenhyit