Berikut ini adalah aturan yang harus kita ingat tentang pendeklarasian interface:
- Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak menggunakan modifier maka interface tersebut hanya dapat diakses dalam package yang sama.
- Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static final. Karena itu waktu pendeklarasian harus diberikan nilai.
- Semua method adalah abstrak. Bedanya dengan class abstrak adalah kita tidak perlu menuliskan keyword abstract pada saat mendeklarasikan method dalam interface.
- Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance) dengan memisahkan nama dari setiap interface dengan tanda koma.
- 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.
- Semua method yang diimplemetasikan harus public.
- Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class tersebut harus dideklarasikan sebagai abstract class.
public interface Control {
public void pindahChannel(int channel);
public void perbesarVolume(int intensitas);
public void perkecilVolume(int intensitas);
}
public class TVPolitron implements Control{
String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
public void pindahChannel(int channel) {
System.out.println("Pindah channel pada TV Politron ke "+ this.channel[channel]);
}
public void perbesarVolume(int intensitas) {
System.out.println("Perbesar volume pada TV Politron sebanyak "+ intensitas);
}
public void perkecilVolume(int intensitas) {
System.out.println("Perkecil volume pada TV Politron sebanyak "+ intensitas);
}
}
public class TVSamsung implements Control{
String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
public void pindahChannel(int channel) {
System.out.println("Pindah channel pada TV Samsung ke "+ this.channel[channel]);
}
public void perbesarVolume(int intensitas) {
System.out.println("Perbesar volume pada TV Samsung sebanyak "+ intensitas);
}
public void perkecilVolume(int intensitas) {
System.out.println("Perkecil volume pada TV Samsung sebanyak "+ intensitas);
}
}
public class RemoteControl {
public void kirimPerintahKeTv(int aksi,Control tv,int tombol){
switch(aksi){
case 1:
tv.pindahChannel(tombol);
break;
case 2:
tv.perbesarVolume(tombol);
break;
case 3:
tv.perkecilVolume(tombol);
break;
}
}
}
public class TestRemoteControl {
public static void main(String[] args){
TVPolitron tvp = new TVPolitron();
TVSamsung tvs = new TVSamsung();
RemoteControl rc = new RemoteControl();
rc.kirimPerintahKeTv(1,tvp,1);
}
}
2 komentar:
Mas, mau tanya... misalnya saya membuat 2 interface... kemudian saya mau me-link-kan tombol pada satu interface, untuk menampilkan interface lainnya... gmana caranya...
Mas mau tanya... gimana caranya mbuat link pda sbuah tombol interface yang menampilkan interface lainnya ... misalnya saya udah mbuat 2 interface ... kemudian di interface itu ada tombol yang pengenyya buat membuka interface satunya...
terima kasih sebelumnya
Posting Komentar