Last Updated on October 28, 2021 by
Pada artikel sebelumnya, Codekey telah membandingkan tentang abstract class dengan interface. Kali ini, kami akan membahas lebih jauh tentang fungsi interface yang ada pada Java. Fungsi interface ini dapat dianalogikan seperti memotong umpan bebek dari balok kayu.
Pertama, templat digunakan untuk menjiplak pola ke kayu. Kemudian, ketika kayu dipotong, menyerupai template. Namun, pada titik ini, baik template maupun kayunya tidak memiliki detail halus seperti yang diharapkan dari umpan yang sudah jadi.
Template digunakan untuk menentukan karakteristik dasar, bukan detail yang tepat. Setelah beberapa potongan berbentuk bebek dipotong, masing-masing dapat diukir dan didekorasi dengan unik. Namun, mereka semua memiliki ukuran dan bentuk dasar yang sama.
Interface umumnya digunakan sebagai template untuk beberapa kelas. Semua kelas ini berbagi metode yang ditentukan di interface. Namun, penerapan metode dapat berbeda dari satu kelas ke kelas lainnya. Berikut ini penjelasan lengkap tentang fungsi interface pada Java.
Interface pada Java
Interface adalah tipe referensi di Java. Interface mirip dengan kelas karena mereka adalah kumpulan metode abstrak. Kelas mengimplementasikan interface, sehingga mewarisi metode abstrak interface.
Bersama dengan metode abstrak, sebuah interface juga dapat berisi konstanta, metode default, metode statis, dan tipe bertingkat. Badan metode hanya ada untuk metode default dan metode statis.
Menulis interface mirip dengan menulis kelas. Tetapi kelas menggambarkan atribut dan perilaku suatu objek. Dan interface berisi perilaku yang diimplementasikan oleh kelas kecuali jika kelas yang mengimplementasikan interface abstrak, semua metode interface perlu didefinisikan di kelas.
Interface tidak harus dibuat secara ketat karena mereka adalah bagian dari struktur organisasi pemrograman berorientasi objek. Interface mendefinisikan metode untuk kelas dengan menentukan nama metode, jenis kembalian (atau void) dan argumen metode (menurut jenis dan nama).
Definisi metode ini disebut tanda tangan. Karena ini adalah templat, tanda tangan metode tidak berisi kode. Kode tersebut dimasukkan ke dalam implementasi interface. Interface digunakan dalam disiplin polimorfisme. Jika kelas mengimplementasikan interface, semua metode interface harus muncul di kelas. Kata kunci implement digunakan saat membuat kelas yang dimodelkan setelah interface.
Interface mirip dengan kelas. Kemiripannya kami jelaskan berikut ini:
- Interface dapat berisi sejumlah metode.
- Interface ditulis dalam file dengan ekstensi .java, dengan nama interface yang cocok dengan nama file.
- Kode byte dari sebuah interface muncul dalam file .class.
- Interface muncul dalam paket, dan file bytecode yang sesuai harus berada dalam struktur direktori yang cocok dengan nama paket.
Namun, interface berbeda dari kelas dalam beberapa hal diantaranya:
- Anda tidak dapat membuat contoh interface.
- Interface tidak berisi konstruktor apa pun.
- Semua metode dalam sebuah interface bersifat abstrak.
- Interface tidak boleh berisi bidang contoh. Satu-satunya bidang yang dapat muncul di interface harus dinyatakan sebagai statis dan final.
- Interface tidak diperluas oleh kelas; itu diimplementasikan oleh kelas.
- Interface dapat memperluas banyak interface.
Mendeklarasikan Interface
Interface bernama Hewan mungkin memiliki definisi metode untuk memberiMakan, merawat, dan mengelus. Memberi makan, merawat, dan memakan hewan bisa sama berbeda dengan hewan itu sendiri.
interface Hewan { boolean memberiMakan (boolean waktuUntukMakan); void merawat(); void mengelus();
Berikut ini contohnya kelas ‘Anjing dapat diterapkan dengan cara yang dapat diprediksi.
class Anjing implements Hewan { boolean memberiMakan(boolean waktuUntukMakan) { // menuang makanan dalam mangkok return true; } void merawat() { // menyisir dengan baik } void dipelihara() { // dipelihara secara hati hati } }
Kelas animal lainnnya mungkin memiliki keperluan yang spesifik.
class Jerapah implements Hewan { boolean memberiMakan(boolean waktuUntukMakan) { // mengambil dari pohon return true; } void merawat() { // ambil tangga untuk naik // menyisir dengan baik } void mengelus() { // anbil tangga untuk naik // dipelihara secara hati hati } } class Harimau implements Hewan { boolean memberiMakan(boolean waktuUntukMakan) { // lempar daging mentah kedalam kandang return true } void merawat() { // dibius terlebih dahulu // menyisir dengan baik } void dipelihara () { // jangan di pelihara } }
Saat mengganti metode yang ditentukan dalam interface, ada beberapa aturan yang harus diikuti:
- Exception yang dicentang tidak boleh dideklarasikan pada metode implementasi selain yang dideklarasikan oleh metode interface atau subkelas yang dideklarasikan oleh metode interface.
- Signature dari metode interface dan tipe kembali atau subtipe yang sama harus dipertahankan saat mengganti metode.
- Kelas implementasi itu sendiri bisa abstrak dan jika demikian, metode interface tidak perlu diimplementasikan.
Saat mengimplementasikan interface, ada beberapa aturan yang harus Anda ikuti:
- Sebuah kelas dapat mengimplementasikan lebih dari satu interface pada satu waktu.
- Sebuah kelas hanya dapat memperluas satu kelas, tetapi mengimplementasikan banyak interface.
- Interface dapat memperluas interface lain, dengan cara yang sama seperti kelas dapat memperluas kelas lain.
Demikianlah penjelasan tentang interface pada Java. Penggunaannya sangat mirip dengan kelas, sehingga tidak akan sulit bagi Anda untuk memahaminya jika Anda sudah terbiasa bekerja dengan Java.
Jika Anda tertarik untuk belajar Java, maka Anda perlu membaca seri tutorial Java di Codekey. Kami juga menyediakan berbagai tutorial, pembahasan, materi, tips, dan trik untuk Anda belajar berbagai bahasa pemrograman. Jangan lupa untuk mendapatkan berbagai update terbaru dari situs Codekey.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.