Selasa, 19 Maret 2013

PENGANTAR SISTEM TERDISTRIBUSI - OBJECT INTERFACE

Pengertian interface dan contoh programnya

Pengertian interface adalah himpunan operasi-operasi yang menentukan perilaku sebuah objek, biasanya digunakan apabila kita ingin menentukan apa saja yang harus dilakukan oleh satu class tetapi tidak menentukan bagaimana cara untuk melakukannya
Mengapa menggunakan interface?
       Untuk memiliki class yang tidak berhubungan yang mengimplementasikan method yang sama.
       Contoh:
   Class Line dan MyInteger
       Tidak berhubungan
       Keduanya mengimplementasikan method perbandingan
   isGreater
   isLess
   isEqual
       Untuk mengungkapkan sebuah interface pemrograman object tanpa pernyataan classnya
       Untuk model multi inheritance yang mengijinkan sebuah class untuk memiliki lebih dari satu superclass.

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 dalam class 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.

Referensi :
http://objekberkhayal.blogspot.com/2010/01/interface.html
http://dewiqsweets.blogspot.com/2009/06/pengertian-interface-dan-contoh.html
http://roes-wibowo.com/interface-di-php-oop/
 

Tidak ada komentar:

Posting Komentar