Interface merupakan suatu mekanisme yang disediakan oleh java yang memungkinkan berbagi konstanta atau menentukan bentuk metode yang dapat digunakan oleh sejumlah kelas.
Beda Interface dan kelas abstrak :
- Kelas abstrak dapat mengandung metode abstrak maupun metode
metode abstrak
- Kelas abstrak dapat mendeklarasikan variabel instan, sedangkan interface hanya dapat mendefinisikan konstanta
- Kelas abstrak digunakan oleh kelas lain melalui pewarisan(via kata kunci extends), sedangkan interface digunakan oleh kelas tidak melalui mekanisme itu
Bentuk pendeklarasian:
public interface namainterface
{
metode-tanpa implementasi
definisi konstanta
}
Variabel dalam interface hanya diperkenankan untuk menggunakan penentu akses public static final.
Kalaupun public static final tidak disertakan, secara implisit akan diperlakukan seperti kalau public static final diberikan
Bentuk Abstrak :
Pewarisan Interface :
Berbeda dengan kelas, suatu interface dapat Mewarisi lebih dari sebuah interface. Bentuknya
Seperti berikut:
public interface namainterface extends interfaceA,interfaceB
{
//tubuh interface
}
Seperti berikut:
public interface namainterface extends interfaceA,interfaceB
{
//tubuh interface
}
Sebuah kelas dapat menggunakan interface melalui kata kunci implements. Bentuknya seperti berikut:
class namakelas1 extends namakelas2 implements interface1,
interface2
{
//tubuh kelas
}
Struktur Program :
Interface ( Java ) Vs Multiple Inherintance ( C ++ )
Gabungan Inheritance dan Implementation
Airplane is a Vehicle
Bird is an Animal
Superman is an Animal and is a HomoSapien
Kelemahan multiple inheritance adalah suatu class bisa mewarisi method dari lebih dari satu class dimana method ini tidak diharapkan. Dengan Interface maka hal ini bisa dihindari.
Contoh Program InterFace :
interface Konstanta2 {
double KONST_PI = 3.14;
String KONST_SATUAN_LUAS = "CM PERSEGI";
String KONST_SATUAN_PANJANG = "CM ";
}
class DemoInterface implements Konstanta2 {
public static void main (String args[]){
System.out.println("************************");
System.out.println("************************");
System.out.println("*PROGRAM DEMO INTERFACE*");
System.out.println("************************");
System.out.println("******** **** *********");
double radius = 10;
System.out.println("Radius Lingkaran : " + radius);
System.out.println("Luas Lingkaran : " + (KONST_PI * radius * radius ) + KONST_SATUAN_LUAS);
System.out.println("Keliling Lingkaran : " + ( 2*KONST_PI * radius ) + Konstanta2.KONST_SATUAN_PANJANG);
}
}
Output :
run:
************************
************************
*PROGRAM DEMO INTERFACE*
************************
******** **** *********
Radius Lingkaran : 10.0
Luas Lingkaran : 314.0 CM PERSEGI
Keliling Lingkaran : 62.800000000000004 CM
BUILD SUCCESSFUL (total time: 0 seconds)
Sumber : http://lecturer.eepis-its.edu/~mieke/java/teorijava/T5-interface.pdf
Tidak ada komentar:
Posting Komentar