Interface

  

Apa itu Interface?

Interface terdiri dari dua kata:

inter = antar
face = muka

Jadi interface adalah antarmuka.

Kata ini mungkin sering kamu dengar. Contohnya seperti: GUI (Graphical User Interface) dan CLI (Command Line Interface).

Secara umum, interface berfungsi sebagai penghubung antara sesuatu yang ‘abstrak’ dengan sesuatu yang nyata.

Contoh:

Coba perhatikan handphone-mu, ada berapa tombol di sana?

Kalau HP zaman sekarang, paling cuma ada dua.. yakni tombol power dan tombol volume.

Tombol-tombol inilah yang dimaksud interface. Sementara isi dalam HP-nya, kamu tak peduli atau tak akan tahu seberapa kompleks dan abstrak sistem yang ada di sana.











Saat kamu menekan tombol di HP mu, ada beberapa hal yang mungkin terjadi:

  • HP menyala;
  • HP mati;
  • Suara HP tambah besar;
  • Suara HP mengecil;
  • Mengambil gambar dari kamera;
  • dll.

Ini tergantung bagaimana implementasi yang diberikan untuk tombol-tombol tersebut.

Beda merek HP, beda lagi cara mereka mengimplementasikannya.

Misal pada HP tertetntu, jika menekan tombol volume 3x.. maka akan mengambil screenshot. Sementara di HP merek lain, kita tidak bisa melakukan ini.

Nah, konsep ini juga ada di dalam OOP.

Bagaimana Contohnya?

Mari kita lihat:

Contoh Program Interface

Biar nyambung dengan penjelasan saya yang tadi, kita akan pakai contoh Handphone.

Jadi.. ada dua objek yang akan kita hubungkan dengan interface.

Yakni manusia dan handphone. Manusianya kita sebut saja sebagai PhoneUser. Karena dia akan menggunakan objek HP.

Maka dapat kita buat class diagramnya seperti ini:









Mengapa Harus Pakai Interface?

Sebenarnya kita tidak harus selalu menggunakan interface. Tapi dalam kasus tertentu, interface akan sangat berguna.

Misalnya gini:

Kita tahu objek PhoneUser membutuhkan objek dari handphone. Tanpa objek handphone, si objek user nggak akan bisa kita buat.

Ini karena kita menetapkan pada konstruktornya.

Ini juga disebut hubungan dependency.
















Hal-Hal yang tidak boleh dilakukan di Interface

Ada beberapa hal yang tidak boleh kamu lakukan saat membuat interface:

  • Jangan buat variabel di dalam interface, tapi membuat konstanta boleh;

  • Jangan mengisi method-nya, cukup tuliskan nama method, tipe data, dan parameter saja. Tapi untuk default metod boleh punya isi.

  • Contoh:

  • Jangan berikan modifier privete atauapun protected pada method dan konstanta yang ada di dalam interface.

  • Interface tidak bisa dibuat objek instance-nya dengan kata kunci new.

Kalau dilanggar gimana?

Ya programnya akan error!









Komentar

Postingan populer dari blog ini

IP

Scala

Variabel Dan Tipe Data