Beberapa Trait dalam OOP PHP

Dalam kelas, anda boleh menggunakan bukan satu, tetapi beberapa trait. Di sinilah kelebihan mereka berbanding pewarisan. Trait yang diperlukan untuk digunakan dalam kelas boleh dinyatakan dipisahkan dengan koma selepas kata kunci use.

Mari kita lihat contoh. Katakan kita mempunyai dua trait. Pertama:

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

Kedua:

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

Gunakan trait kami dalam kelas:

User.php<?php
  class User
  {
    use Helper1, Helper2; // sambungkan trait
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Buat 3 trait dengan nama Trait1, Trait2 dan Trait3. Katakan dalam trait pertama ada kaedah method1, yang mengembalikan 1, dalam trait kedua - kaedah method2, mengembalikan 2, dan dalam trait ketiga - kaedah method3, mengembalikan 3. Biarkan semua kaedah ini menjadi peribadi.

Задание 2

Buat kelas Test, yang menggunakan ketiga-tiga trait yang kami buat. Buat dalam kelas ini kaedah awam getSum, yang mengembalikan jumlah hasil kaedah trait yang disambungkan.