Metode Abstrak Trait dalam OOP di PHP
Dalam trait, beberapa metode dapat dideklarasikan sebagai abstrak. Dalam hal ini, kelas yang menggunakan trait ini akan diwajibkan untuk mengimplementasikan metode tersebut. Perlu diperhatikan bahwa metode abstrak trait tidak dapat bersifat privat.
Mari kita lihat sebuah contoh. Misalkan kita memiliki trait seperti berikut:
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
Misalkan trait kita digunakan oleh kelas Test.
Keberadaan metode abstrak dalam trait akan mewajibkan
pemrogram untuk mengimplementasikannya dalam kelas, jika tidak
akan terjadi error PHP.
Mari kita buat kelas Test beserta
metode method2:
<?php
class Test
{
use TestTrait; // menggunakan trait
// Mengimplementasikan metode abstrak:
public function method2()
{
return 2;
}
}
new Test;
?>
Salin kode trait saya TestTrait
dan kode kelas saya Test. Hapus dari
kelas metode method2. Pastikan
bahwa tidak adanya implementasinya akan menyebabkan
error PHP.