Implements vs Extends
Implements and Extends adalah dua kata kunci yang ditemukan dalam bahasa pemrograman Java yang menyediakan sarana untuk mentransfer fungsionalitas tambahan ke kelas baru. Menerapkan kata kunci digunakan secara eksplisit untuk mengimplementasikan antarmuka, sedangkan Memperluas kata kunci digunakan untuk mewarisi dari kelas (super). Harap perhatikan bahwa konsep pewarisan dan antarmuka hadir di sebagian besar bahasa pemrograman berorientasi objek lainnya seperti C # dan VB.NET, tetapi mereka menawarkan sintaks atau kata kunci yang berbeda untuk menerapkan konsep tersebut. Artikel ini hanya berfokus pada Implements dan Memperluas kata kunci yang didefinisikan di Jawa.
Meluas
Memperluas kata kunci digunakan untuk mengimplementasikan konsep pewarisan dalam bahasa pemrograman Java. Inheritance pada dasarnya menyediakan penggunaan kembali kode dengan membolehkan perluasan properti dan perilaku kelas yang ada oleh kelas yang baru didefinisikan. Ketika subclass baru (atau kelas turunan) memperluas kelas super (atau kelas induk) bahwa subclass akan mewarisi semua atribut dan metode kelas super. Subclass secara opsional dapat mengesampingkan perilaku (menyediakan fungsionalitas baru atau diperluas untuk metode) yang diwarisi dari kelas induk. Subclass tidak dapat memperluas beberapa kelas super di Java. Oleh karena itu, Anda tidak dapat menggunakan ekstensi untuk banyak warisan. Untuk memiliki banyak pewarisan, Anda harus menggunakan antarmuka seperti yang dijelaskan di bawah ini.
Implements
Menerapkan kata kunci dalam bahasa pemrograman Java digunakan untuk mengimplementasikan antarmuka oleh kelas. Antarmuka di Java adalah tipe abstrak yang digunakan untuk menentukan kontrak yang harus diimplementasikan oleh kelas, yang mengimplementasikan antarmuka itu. Biasanya sebuah antarmuka hanya akan berisi tanda tangan metode dan deklarasi konstan. Setiap antarmuka yang mengimplementasikan antarmuka tertentu harus mengimplementasikan semua metode yang didefinisikan dalam antarmuka, atau harus dinyatakan sebagai kelas abstrak. Di Jawa, jenis referensi objek dapat didefinisikan sebagai jenis antarmuka. Tapi objek itu harus berupa null atau harus memegang objek kelas, yang mengimplementasikan antarmuka tertentu. Menggunakan kata kunci Implements di Java, Anda dapat mengimplementasikan beberapa antarmuka ke satu kelas. Antarmuka tidak dapat mengimplementasikan antarmuka lain. Namun sebuah antarmuka dapat memperluas kelas.
Perbedaan antara Implements dan Extends
Meskipun, Implements dan Extends adalah dua kata kunci yang menyediakan mekanisme untuk mewarisi atribut dan perilaku ke kelas dalam bahasa pemrograman Java, mereka digunakan untuk dua tujuan yang berbeda. Menerapkan kata kunci digunakan untuk suatu kelas untuk mengimplementasikan antarmuka tertentu, sedangkan Memperluas kata kunci digunakan untuk subkelas untuk memperluas dari kelas super. Ketika sebuah kelas mengimplementasikan sebuah antarmuka, kelas itu perlu mengimplementasikan semua metode yang didefinisikan dalam antarmuka, tetapi ketika sebuah subclass memperluas kelas super, itu mungkin atau mungkin tidak menimpa metode yang termasuk dalam kelas induk. Akhirnya, perbedaan utama lainnya antara Implements dan Extends adalah bahwa, sebuah kelas dapat mengimplementasikan beberapa antarmuka tetapi hanya dapat diperluas dari satu kelas super di Jawa. Secara umum, penggunaan Implements (antarmuka) dianggap lebih menguntungkan dibandingkan dengan penggunaan Extends (warisan), karena beberapa alasan seperti fleksibilitas yang lebih tinggi dan kemampuan untuk meminimalkan kopling. Oleh karena itu dalam praktiknya, pemrograman ke antarmuka lebih disukai daripada memperluas dari kelas dasar.