Setelah sebelumnya kita membahas abstract class pada PHP, maka kita akan melanjutkan dengan interface pada class PHP. Interface ini mirip dengan abstract class pada PHP di mana interface mendefinisikan method-method signaturenya saja sedangkan implementasi dilakukan oleh class-class yang mengimplementasikan.
Bedanya dengan abstract class pada PHP adalah
- Class dapat mengimplementasikan banyak interface, sedangkan
class hanya dapat meng-extend sebuah class atau sebuah abstract class.
- Interface tidak ada satu atau beberapa method lengkap sendiri yang dapat digunakan langsung oleh class yang mengimplementasikan.
Dalam abstract class, class parent bisa memuat satu atau beberapa method yang dapat digunakan oleh class turunannya.
Dari penjelasan di atas, jika kita memaksa class lain untuk membuat implementasi beberapa method yang sudah kita tetapkan maka kita dapat menggunakan interface.
Kemudian kita juga dapat membuat interface, jika suatu class dipaksa untuk membuat implemntasi dari berbagai sumber yang tidak terkait dalam hal ini interface. Kita ingin bahwa sebuah class hanya mempunyai satu parent class tetapi dapat mengimplentasikan banyak interface.
Jika ada method dari parent yang akan digunakan langsung oleh class turunannya maka kita perlu melakukan extend class. Tentu saja extend class dapat juga digabungkan dengan interface.
Informasi lebih lanjut silahkan mengunjungi:
1. http://php.net/manual/en/language.oop5.interfaces.php .
2. http://php.net/manual/en/language.oop5.abstract.php .
3. http://stackoverflow.com/questions/1814821/interface-or-an-abstract-class-which-one-to-use .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.