Rabu, 03 November 2010

Interface

Interface adalah class yang hanya mengandung deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final. Interface mirip dengan class abstrak, tetapi interface tidak terikat dengan class hierarki.
Berikut ini adalah aturan yang harus kita ingat tentang pendeklarasian interface:
  1. Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak menggunakan modifier maka interface tersebut hanya dapat diakses dalam package yang sama.
  2. Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static final. Karena itu waktu pendeklarasian harus diberikan nilai.
  3. Semua method adalah abstrak. Bedanya dengan class abstrak adalah kita tidak perlu menuliskan keyword abstract pada saat mendeklarasikan method dalam interface.
  4. Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance) dengan memisahkan nama dari setiap interface dengan tanda koma.
  5. Dapat terjadi saat kita mengimplementasikan lebih dari satu interface ternyata interface – interface tersebut memiliki method yang sama. Dalam hal ini method yang akan diimplementasi adalah method yang berada pada posisi pertama.
  6. Semua method yang diimplemetasikan harus public.
  7. Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class tersebut harus dideklarasikan sebagai abstract class.
Untuk lebih jelasnya kita akan mengambil contoh pada dunia nyata. Misalnya pembuat remote control dan pembuat TV. Seorang pembuat remote control tentunya tidak perlu tahu merk TV dan siapa yang membuat TV tersebut untuk dikontrol menggunakan remote control tersebut. Yang perlu diketahui adalah Interface apa yang digunakan oleh TV tersebut agar dapat dikontrol. Demikian pulu si pembuat TV tidak perlu tahu bagaimana remote control tersebut dibuat. Pembuat TV hanya perlu tahu interface apa yang akan digunakan agar Tvnya dapat dikontrol oleh remote control tersebut. Perhatikan implementasinya dalam kode berikut ini.

Tidak ada komentar:

Posting Komentar