Minggu, 07 Oktober 2012

Interface di PHP untuk Standar Program | PHP OOP


Artikel saya kali ini akan menerangkan tentangInterface di PHP OOP. Interface hampir sama namun berbeda jika dibandingkan Abstract Class dan pernah saya terangkan di halaman: Penjelasan dan Contoh Abstract Class di PHP OOP. Mau tahu lebih lanjut? Oke, mari saya mulai jelaskan.

Manfaat dan Fungsi Interface di PHP OOP

Objek interface sangat berguna untuk aplikasi web based yang menganut pemrograman PHP OOP atau berbasis objek. Apa manfaat dari object interface? Konsep objek interfaceberfungsi untuk membuat standar pemrograman yang harus diimplementasikan di dalam class yang mengimplementasikan suatu objek interface dengan cara melakukan define pattern method bersifat abstrak.

Implementasi Interface

Masih bingung dengan kata-kata saya yang terlalu ilmiah di atas tadi? :lol: Coba saya jelaskan beberapa syarat untuk menggunakan suatu object interface ke dalam class, yakni:
  1. Penggunaan interface ke dalam class bukan menggunakan extends atau pewarisan, namun menggunakan “implements”.
  2. Interface dapat dilakukan pewarisan/inheritance ke interface baru, tetapi tidak bisa diwariskan ke dalam class.
  3. Method yang berada di dalam interface tidak boleh memiliki body.
  4. Semua method yang berada di dalam interface menjadi suatu standar dan kewajiban, sehingga semua method di interface harus terdaftar di dalam class yang mengimplementasikan interface tersebut.

Contoh Penggunaan Interface ke dalam Class

Seperti yang pernah saya jelaskan di artikel awal tentang PHP OOP, pemrograman Java berbasis objek mempunyai bentuk yang hampir sama di pemrograman PHP berbasis objek. Untuk menggunakan interface ke dalam class harus menggunakan “implements”. Coba lihat contoh penggunaan interface ke dalam class php di bawah ini:
<?php
interface InterfaceDokumen{
function spesifikberkas();
}

interface BangunClass extends InterfaceDokumen{
function dapatkanclass();
function cetakhasil();
}

class pdf implements BangunClass{
public function spesifikberkas()
{
return ".pdf";
}
public function dapatkanclass()
{
return get_class($this);
}
public function cetakhasil()
{
echo 'Berkas <b>'.$this->dapatkanclass().'</b> mempunyai ekstensi file: "'.$this->spesifikberkas().'".<br/>';
}
}

class doc implements BangunClass{
public function spesifikberkas()
{
return ".doc, .docx atau .rft";
}
public function dapatkanclass()
{
return get_class($this);
}
public function cetakhasil()
{
echo 'Berkas <b>'.$this->dapatkanclass().'</b> mempunyai ekstensi file: "'.$this->spesifikberkas().'".<br/>';
}
}

$berkaspdf = new pdf();
$berkasdoc = new doc();
$berkaspdf->cetakhasil(); // Berkas pdf mempunyai ekstensi file: ".pdf".
$berkasdoc->cetakhasil(); // Berkas doc mempunyai ekstensi file: ".doc, .docx atau .rft".
?>
Contoh di atas dapat dijelaskan bahwa interface InterfaceDokumen dan interface BangunClass menyediakan standar pattern method abstrak yang digunakan di dalamclass pdf dan class doc. Sedangkan method abstrak yang di-define di interface, yaitu: method spesifikberkas, method dapatkanclass dan method cetakhasil harus terdaftar juga di class yang mengimplementasikan interface tersebut. Jika salah satu method yang di-define di interface tidak terdaftar di dalam class maka kamu akan menemui error.
Ya, sepertinya hanya hal itu yang perlu diperhatikan jika kamu ingin menggunakan interface di dalam aplikasi php kamu dan supaya tidak menemui status error. :D Oke, sampai di sini dulu ya artikel dan contoh tentang Interface di PHP OOP.


Tidak ada komentar:

Posting Komentar