Untuk memahami lebih mudah, interface
sekumpula dari method-method yang dibuat tapi belum ada operasi di dalam
tubuh method tersebut, interface ini bisa diturunkan atau diwariskan
kepada class yang ingin memakai method yang ada dalam masing-masing
interface tersebut dengan keyword extends [interface yang didefinisikan]. Dan juga sebuah class mengimplementasi 1 interface yang sudah dibuat dengan keyword implements.
Ciri-ciri dari interface adalah sebagai berikut..
- Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
- Tidak bisa membuat instance atau objek baru dari sebuah interface.
- Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.
public interface [InterfaceName] { //beberapa method tanpa isi } - Seperti penggunaan interface pada salah satu class interface berikut. public interface RemoteAllInOne { public void pindahChannel(int channel); public void perbesarVolume(int kpsts); public void perkecilVolume(int kpsts); public void perkecilZoom(int kpsts); public void perbesarZoom(int kpsts); } - Setelah itu kita menggunakan class yang akan mengimplementasi setiap method yang ada pada class interface RemoteAllInOne. public class BenQ implements RemoteAllInOne { String[] menuTV = {"ANTV", "INDOSIAR", "TRANS-TV", "TPI", "RCTI", "SCTV", "GLOBAL-TV"}; public void pindahChannel(int channel) { System.out.println("LCD BENQ Pindah Channel ke - " + this.menuTV[channel]); } public void perbesarVolume(int kpsts) { System.out.println("LCD BENQ Perbesar Vol : " +kpsts); } public void perkecilVolume(int kpsts) { System.out.println("LCD BENQ Pekecil Vol : " + kpsts); } public void perkecilZoom(int kpsts) { System.out.println("LCD BENQ Pekecil Zoom : " + kpsts); } public void perbesarZoom(int kpsts) { System.out.println("LCD BENQ Pebesar Zoom : " + kpsts); } } - Setelah itu kita membuat class yang berfungsi sebagai perantara pemanggil method sebelum kita masuk ke class main, atau pembuatan instance baru sebuah objek supaya dapat digunakan setiap interface yang dibuat tadi. public class MyRemoteAllInOne { public void sendRequest(int aksi, RemoteAllInOne rmt, int tombol){ switch(aksi){ case 1: rmt.pindahChannel(tombol); break; case 2 : rmt.perkecilVolume(tombol); break; case 3 : rmt.perbesarVolume(tombol); break; case 4 : rmt.perkecilZoom(tombol); break; case 5 : rmt.perbesarZoom(tombol); break; } } } - Dan berikut adalah class main yang dipakai waktu pengeksekusian program. public class Tester { /** * @param args the command line arguments */ public static void main(String[] args) { BenQ bq = new BenQ(); MyRemoteAllInOne my = new MyRemoteAllInOne(); my.sendRequest(1, bq, 6); } } |
|
No comments:
Post a Comment