Jumat, 08 Oktober 2010

Java Fundamental : Bagian 6

Interface
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
tidak abstrak, sedangkan interface hanya dapat mengandung
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
Mendeklarasikan interface

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
}

Menggunakan 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