Interface Dalam Bahasa Pemrograman Java

Seperti yang sudah kita pelajari di awal, object mendefinisikan interaksinya dengan dunia luar menggunakan method yang dimilikinya. Method membentuk interface object dengan dunia luar. Sebagai contoh adalah tombol on/off TV yang menjadi interface antara kita dan kabel di dalam TV. Dalam bentuk umum, interface adalah sekelompok method yang saling berhubungan tanpa isi. Jadi cukup nama methodnya sama argumentnya. Sebagai contoh method dari class Bicycle apabila dijadikan sebagai interfacenya maka isinya akan menjadi seperti ini.

interface Bicycle {

    //  wheel revolutions per minute
    void changeCadence(int newValue);

    void changeGear(int newValue);

    void speedUp(int increment);

    void applyBrakes(int decrement);
}

Untuk membuat interface di netbeans klik-kanan di package lokasi kita menyimpan file java. trus klik “New”=>”Java Interface”. Setelah itu jangan lupa, nama class maupun interface dimulai dengan huruf Besar. Untuk mengimpilementasikan interface Bicycle yang telah kita buat, kita buat class baru (:nama classnya terserah). Selanjutnya gunakan keyword “implements” saat deklarasi class.

class ACMEBicycle implements Bicycle {

    int cadence = 0;
    int speed = 0;
    int gear = 1;

   // The compiler will now require that methods
   // changeCadence, changeGear, speedUp, and applyBrakes
   // all be implemented. Compilation will fail if those
   // methods are missing from this class.

    void changeCadence(int newValue) {
         cadence = newValue;
    }

    void changeGear(int newValue) {
         gear = newValue;
    }

    void speedUp(int increment) {
         speed = speed + increment;
    }

    void applyBrakes(int decrement) {
         speed = speed - decrement;
    }

    void printStates() {
         System.out.println("cadence:" +
             cadence + " speed:" +
             speed + " gear:" + gear);
    }
}

Saat class digunakan untuk mengimplementasikan interface, semua method yang didefinisikan oleh interface harus tampak dalam source code sebelum class berhasil dicompile.

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.