Metodat Abstrakte të Treiteve në OOP në PHP

Në treit disa metoda mund të deklarohen abstrakte. Në këtë rast, klasa që përdor këtë treit, do të detyrohet të implementojë një metodë të tillë. Në të njëjtën kohë, metodat abstrakte të treitit nuk mund të jenë private.

Le të shohim një shembull. Le të supozojmë se kemi këtë treit:

TestTrait.php<?php
  trait TestTrait
  {
    public function method1()
    {
      return 1;
    }
    
    abstract public function method2();
  }
?>

Le të supozojmë se treiti ynë përdoret nga klasa Test. Prania e një metode abstrakte në treit do ta detyrojë programuesin ta implementojë atë në klasë, përndryshe do të ketë një gabim PHP.

Le të krijojmë klasën Test së bashku me metodën method2:

Test.php<?php
  class Test
  {
    use TestTrait; // përdorim treitin
    
    // Implementojmë metodën abstrakte:
    public function method2()
    {
      return 2;
    }
  }
  
  new Test;
?>
Задание 1

Kopjoni kodin e treitit tim TestTrait dhe kodin e klasës sime Test. Fshini nga klasa metodën method2. Sigurohuni që mungesa e implementimit të saj do të çojë në një gabim PHP.