8c69c materi oop 005

INTERFACE
Pertemuan 005

Definisi Interface
Interface adalah class yang hanya berisi deklarasi

method tanpa memiliki implementasi dan semua
property yang dimilikinya bersifat final.
Interface mirip dengan class abstrak, tetapi interface
tidak terikat dengan class hierarki.
Kita akan menggunakan interface jika kita ingin class
yang tidak berhubungan mengimplementasikan
method yang sama.
Melalui interface-interface, kita dapat menangkap
kemiripan diantara class yang tidak berhubungan
tanpa membuatnya seolah-olah class yang
berhubungan.

Syntax Dasar
public interface [InterfaceName] {
//beberapa method tanpa isi

}

public interface OpsiSenjata{
public void tembakSenjata();
public void reloadSenjata();
public void tukarSenjata(int kodesenjata);
}
public class Senjata implements OpsiSenjata {
int pelor = 0;
String[] senjata= {"M532", "Magnum", "M16", "AK47", "Kriss",
"Panzerfaust"};
Senjata(int pelor){
this.pelor = pelor;
}
public void tukarSenjata(int kodesenjata) {
System.out.println("Senjata tukar ke ke : " +
this.senjata[kodesenjata]);
}

public void tembakSenjata() {

if (pelor != 0) {
System.out.println("Dor dor dor!");
this.pelor = pelor -1;
} else {
System.out.println("Sisa Pelor Habis");
}
}
public void reloadSenjata() {
System.out.println("Senjata di reload");
this.pelor = pelor + 7;
}
}
public class Tester {
public static void main(String[] args) {
Senjata Gun1 = new Senjata(7);
Gun1.tembakSenjata();
Gun1.tembakSenjata();
Gun1.reloadSenjata();
Gun1.tukarSenjata(2);
}}