Interface adalah sebuah file yang hanya berisi method kosong. Method kosong pada interface ditujukan untuk menjadi behaviour atau sifat wajib dari class yang mengimplementasikannya.
Contoh Interface
1. Buatlah suatu kelas java dengan nama BangunDatar.java sebagai parent dari Persegi Panjang.java, Persegi.java , Segitiga.java dan Lingkaran.java yang didalamnya berisikan method HitungLuas dan HitungKeliling.
Tidak seperti class biasa yang mengharuskan semua method untuk memiliki logic didalamnya, pada interface hanya diperbolehkan untuk memiliki nama method beserta tipe kembaliannya. Hal ini dimaksudkan agar object yang menimplementasikan interface tersebut dapat berpolimorfisme dengan sifat yang sama mengikuti method minimal yang tertulis pada interface.
Pada contoh diatas dimaksudkan agar semua kelas yang mengimplementasi interface memiliki method HitungLuas(), HitungKeliling() dan displayInfo() yang tujuannya membandingkan antara 3 buah object. Walaupun implementasi dari isi method tersebut beda-beda, namun kembalian ( return type ) dari method tersebut tetap sama sehingga memudahkan dalam proses pembuatan program.
Contoh kelas yang mengimplementasikan interface lihat gambar dibawah ini :
2. Buatlah kelas PersegiPanjang.java yang mengimplements kelas BangunDatar.java
3. Buatlah kelas Persegi yang mengimplements kelas BangunDatar.java
4. Buatlah kelas Segitiga.java yang mengimplements kelas BangunDatar.java
5. Buatlah kelas Lingkaran.java yang mengimplements kelas BangunDatar.java
Pada semua kelas diatas method HitungLuas(), HitungKeliling() dan displayInfo() dihapus maka akan terjadi Runtime Execption karena class Drive harus memiliki semua method yang dimiliki interfacenya. Clas yang mengimplementasikan sebuah interface bisa saja memiliki method tambahan, hal ini tetap diperbolehkan selama method yang berada pada interface telah dimiliki.
6. Buatlah kelas main dengan nama TestBangunDatar.java
7. Setelah di Run akan tampil seperti ini
0 Response to "PROGRAM BANGUN DATAR MENGGUNAKAN INTERFACE DALAM JAVA NETBEANS"
Post a Comment