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:
<?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:
<?php
class Test
{
use TestTrait; // përdorim treitin
// Implementojmë metodën abstrakte:
public function method2()
{
return 2;
}
}
new Test;
?>
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.