Tutorial Belajar OOP PHP Part 16: Pengertian Object Interface Dalam Pemrograman Berbasis Objek

Posted on

Setelah pada panduan sebelumnya kita mempelajari mengenai abstract class dan abstract method, pada panduan belajar OOP PHP kali ini kita akan membahas mengenai Objek Interface dalam pemrograman berbasis objek. Object Interface ini amat mirip dengan Abstract class.


Pengertian Object Interface

Secara sederhana, Object Interface yaitu sebuah ‘kontrak’ atau perjanjian implementasi method.

Untuk class yang menggunakan object interface, class tersebut mesti mengimplementasikan ulang seluruh method yang terdapat di pada interface. Pada pemrograman objek, penyebutan object interface sering disingkan dengan ‘Interface’ saja.

Bila kamu telah mempelajari abstract class, karenanya interface dapat dinamakan selaku format lain dari abstract class. Walaupun secara konsep teoritis dan tujuan penggunaannya berbeda.

Sama seperti abstract class, interface pun hanya berisi signature dari method, yakni hanya nama method dan parameternya saja (jikalau ada). Isi dari method akan dikerjakan ulang di pada class yang menggunakan interface.

Bila kita menganggap abstract class selaku ‘kerangka’ atau ‘blue print’ dari class-class lain, karenanya interface yaitu implementasi method yang mesti ‘terdapat’ pada sebuah objek. Interface tak dapat disebut selaku ‘kerangka’ class.

Menyambung analogi kita mengenai class komputer, interface dapat dicontohkan dengan ‘mouse’, atau ‘keyboard’. Di pada interface mouse, kita dapat merancang method seperti klik_kiri(), klik_kanan(), dan double_klik(). Bila class laptop ‘menggunakan’ interface mouse, karenanya class tersebut mesti merancang ulang method klik_kiri(), klik_kanan(), dan double_klik().


Cara Membangun Interface pada PHP

Bagi merancang Interface di pada PHP, kita menulisnya mirip seperti merancang class, tetapi menggunakan keyword interface, seperti contoh berikut:

Isi dari interface yaitu signature method (nama dan parameter method):

Bagi menggunakan method kedalam class, kita menggunakan keyword implements, seperti contoh berikut:

Interface yaitu ‘perjanjian method’, dimana jikalau sebuah class menggunakan interface, karenanya di pada class tersebut mesti terdapat implementasi dari method tersebut.

Bila di pada interface mouse terdapat signature method klik_kanan(), karenanya di pada class laptop yang menggunakan interface mouse, mesti terdapat method klik_kanan(). Berikut contoh kode PHPnya:

Apabila kita tak merancang ulang diantara method yang terdapat di interface, PHP akan mengeluarkan error:


Method Interface Mesti di set Selaku Public

Sesuai dengan tujuannya bagi merancang interface/antar muka untuk class, method di pada perancangan interface mesti mempunyai hak akses public, atau tak ditulis sama sekali (dimana PHP akan menganggapnya selaku public). Bila kita mengubah hak akses method di pada interface menjadi private atau protected, PHP akan mengeluarkan error:

Di pada class yang menggunakan interface, method yang berasal dari interface pun mesti mempunyai hak akses public. Kita tak dapat mengubahnya menjadi protected atau private.

Pada contoh diatas, saya mengubah hak akses method klik_kiri() menjadi protected di pada class laptop. Hal ini akan menghasilkan error.


Interface dapat di Turunkan (Inherit)

Di pada PHP, interface dapat diturunkan kedalam interface lain. Prosesnya mirip dengan penurunan class, yakni dengan menggunakan kata kunci extends:


Interface Dapat Mempunyai Konstanta

Pada PHP, Interface dapat mempunyai konstanta . Berikut yaitu contoh pemakaian konstanta di pada interface:

Bagi mengakses konstanta dari interface, kita menggunakan petunjuk nama_interface::nama_konstanta.


Interface Tak Dapat Mempunyai Method ‘normal’

Diantara yang membedakan interface dengan abstract class yaitu kita tak dapat merancang method biasanya di pada Interface. Contoh berikut akan menghasilkan error:


Sebuah Class Dapat Menggunakan Banyak Interface

Perbedaan lain antara Interface dengan Abstract Class yaitu: Sebuah class dapat menggunakan lebih dari 1 interface, sedangkan bagi abstract class, kita hanya dapat menggunakan 1 abstract class pada sekali penurunan class.

Bagi menggunakan lebih dari 1 interface, kita tinggal menuliskan segala interface setelah keyword implements. Setiap nama interface dipisahkan dengan tanda koma. Berikut contoh pemakaian 2 buah interface di pada PHP:

Pada contoh diatas saya merancang dua buah interface, yakni mouse dan keyboard. Kedua interface ini kemudian digunakan oleh class laptop.


Kegunaan Interface pada Pemrograman Objek

Bila kamu telah mempelajari abstract class pada panduan kita sebelumnya, sedikit banyak kita dapat memahami manfaat interface jikalau dibandingi dengan manfaat abstract class. Kedua konsep ini sering merancang bingung karena mirip pada implementasinya.

Interface lebih berperan bagi menyeragamkan method. Ia tak masuk kedalam struktur class seperti abstract class. Bila kita menggunakan abstract class komputer selaku ‘konsep class’ bagi kemudian diturunkan kepada class lain seperti class laptop, class komputer, dan class netbook, karenanya interface hanya ‘penyedia method’. Interface tak termasuk kedalam pewarisan class.


Object Interface dan Abstract Class adalah sebuah implementasi dari konsep pemrograman objek yang disebut selaku Polimorfisme. Pengertian Polimorfisme atau polymorphism, akan kita bahas pada panduan OOP PHP berikutnya.


Sumber https://www.duniailkom.com/