Rabu, 21 Oktober 2009

Interface

About interface:

* Interface adalah kumpulan method-method tanpa implementasi bahkan tidak boleh mempunyai body >> {} >> abstract
* Tujuan dibuat interface adalah untuk memaksa kelas-kelas yang mengimplementasikan interface tersebut melakukan overide method abstrak milik interface
* Interface adalah semacam kelas abstract tetapi hanya boleh mempunyai anggota method abstract dan variabel konstan
* Walaupun tidak dideklarasikan sebagai public abstract, interface selalu public abstract
* Interface hanya dapat mendeinisikan konstanta
* Interface biasa digunakan untuk standarasiasi method atau konstanta
* Class yang mengextends interface dipaksa untuk mengoverride semua method dan definisi konstanta pada 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 method yang diimplemetasikan harus public
* Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class tersebut harus dideklarasikan sebagai abstract class

Bentuk umum pendeklarasian interface:

interface {
// method tanpa definisi
// definisi konstanta
}

Contoh:

interface Motor {
int BBM = 4500;
void starting();
void stopping();
}

NB:

* Secara eksplisit tanpa menuliskannya sebenarnya int BBM sudah mempunyai penentu public static final. Jadi tidak usah dituliskan
* Secara eksplisit tanpa menuliskannya sebenarnya method strating dan stopinh sudah mempunyai penentu public abstract. Jadi tidak usah dituliskan

Interfacepun juga bisa diwariskan

Contoh:

interface Motor {
int BBM = 4500;
public void starting();
public void stopping();
}
interface motorGede extends Motor{
int harga = 20000000;
public void service();
}

Penggunaan interface dengan keyword implements.

// Testing.java
interface HargaBBM {
int harga = 4500;
public void cetak();
}
class Berita implements hargaBBM() {
private int hargaNOW = 5000;
public void cetak() {
if (this.hargaNOW == harga) {
System.out.println(“Harga tetap”);
}
else {
System.out.println(“Harga naik, DEMO!!!”);
}
}
}
class Testing {
public static void main (String [] args) {
Berita news = new Berita();
News.cetak();
}
}

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda