Implements vs Extends
Implements dan Extends adalah dua kata kunci yang ditemukan dalam bahasa pemrograman Java yang menyediakan sarana untuk mentransfer fungsionalitas tambahan ke kelas baru. Kata kunci Implements digunakan secara eksplisit untuk mengimplementasikan antarmuka, sedangkan kata kunci Extends digunakan untuk mewarisi dari kelas (super). Harap dicatat 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 Implementasi dan Perluasan kata kunci yang didefinisikan di Java.
Memperpanjang
Kata kunci Extends digunakan untuk mengimplementasikan konsep pewarisan dalam bahasa pemrograman Java. Warisan pada dasarnya menyediakan penggunaan kembali kode dengan mengizinkan perluasan properti dan perilaku kelas yang ada oleh kelas yang baru ditentukan. Ketika subkelas baru (atau kelas turunan) memperluas kelas super (atau kelas induk), subkelas tersebut akan mewarisi semua atribut dan metode dari kelas super. Subkelas dapat secara opsional menimpa perilaku (menyediakan fungsionalitas baru atau yang diperluas ke metode) yang diwarisi dari kelas induk. Sebuah subclass tidak dapat meng-extend beberapa super class di Java. Oleh karena itu, Anda tidak dapat menggunakan ekstensi untuk pewarisan berganda. Untuk memiliki banyak pewarisan, Anda perlu menggunakan antarmuka seperti yang dijelaskan di bawah ini.
Implementasikan
Implements kata kunci dalam bahasa pemrograman Java digunakan untuk mengimplementasikan antarmuka oleh sebuah kelas. Antarmuka di Java adalah tipe abstrak yang digunakan untuk menentukan kontrak yang harus diimplementasikan oleh kelas, yang mengimplementasikan antarmuka itu. Biasanya 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 dideklarasikan sebagai kelas abstrak. Di Jawa, tipe referensi objek dapat didefinisikan sebagai tipe antarmuka. Tetapi objek itu harus nol atau harus menampung objek kelas, yang mengimplementasikan antarmuka tertentu itu. Menggunakan kata kunci Implements di Java, Anda dapat mengimplementasikan beberapa antarmuka ke satu kelas. Antarmuka tidak dapat mengimplementasikan antarmuka lain. Namun 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. Kata kunci Implements digunakan untuk kelas untuk mengimplementasikan antarmuka tertentu, sedangkan kata kunci Extends digunakan untuk subclass untuk memperluas dari kelas super. Ketika sebuah kelas mengimplementasikan sebuah antarmuka, kelas itu perlu mengimplementasikan semua metode yang didefinisikan dalam antarmuka, tetapi ketika sebuah subkelas 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 banyak antarmuka tetapi hanya dapat diperluas dari satu kelas super di Java. 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 perluasan dari kelas dasar.