หลาย Traits ใน OOP ของ PHP

ในคลาสสามารถใช้งานได้ไม่เพียงหนึ่ง แต่หลาย traits นี่คือสิ่งที่แสดงถึงข้อได้เปรียบของพวกมันเมื่อเทียบกับการสืบทอด traits ที่ต้องการใช้ในคลาสสามารถระบุได้โดยคั่นด้วยเครื่องหมายจุลหลังคำหลัก use

ลองดูตัวอย่าง สมมติว่าเรามีสอง traits ตัวแรก:

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

ตัวที่สอง:

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

มาใช้ traits ของเราในคลาส:

User.php<?php
  class User
  {
    use Helper1, Helper2; // เชื่อมต่อ traits
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

สร้าง 3 traits โดยมีชื่อว่า Trait1, Trait2 และ Trait3 ให้ใน trait แรก มีเมธอด method1 ที่คืนค่า 1, ใน trait ที่สอง - เมธอด method2, ที่คืนค่า 2 และใน trait ที่สาม - เมธอด method3 ที่คืนค่า 3 ให้เมธอดทั้งหมดเหล่านี้เป็นแบบ private

Задание 2

สร้างคลาส Test ที่ใช้ traits ทั้งสามที่เราสร้างขึ้นทั้งหมด สร้าง ในคลาสนี้เมธอดสาธารณะ getSum ที่คืนค่าผลรวมของผลลัพธ์จากเมธอดของ traits ที่เชื่อมต่อ