Perbedaan Antara Mengimplementasikan dan Memperluas

Anonim

Menguji vs Memperpanjang

Mengimplementasikan dan Memperluas dua kata kunci yang ditemukan dalam bahasa pemrograman Java yang menyediakan sarana untuk mentransfer fungsionalitas tambahan ke kelas baru. Mengimplementasikan kata kunci digunakan secara eksplisit untuk menerapkan antarmuka, sementara Memperluas kata kunci 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, namun mereka menawarkan sintaks atau kata kunci yang berbeda untuk menerapkan konsep tersebut. Artikel ini hanya berfokus pada Mengimplementasikan dan Memperpanjang kata kunci yang didefinisikan di Jawa.

Memperluas

Memperluas kata kunci digunakan untuk menerapkan konsep pewarisan dalam bahasa pemrograman Java. Warisan pada dasarnya menyediakan penggunaan kembali kode dengan memungkinkan memperluas sifat dan perilaku kelas yang ada oleh kelas yang baru didefinisikan. Ketika subkelas baru (atau kelas turunan) memperluas kelas super (atau kelas induk), subkelas tersebut akan mewarisi semua atribut dan metode kelas super. Subclass secara opsional dapat menimpa perilaku (menyediakan fungsionalitas baru atau diperpanjang ke metode) yang diwarisi dari kelas induk. Sebuah subkelas tidak bisa memperpanjang beberapa kelas super di Jawa. Oleh karena itu, Anda tidak dapat menggunakan meluas untuk multiple inheritance. Agar memiliki beberapa warisan, Anda perlu menggunakan antarmuka seperti yang dijelaskan di bawah ini.

Implements

Mengimplementasikan kata kunci dalam bahasa pemrograman Java digunakan untuk mengimplementasikan antarmuka oleh kelas. Antarmuka di Jawa adalah tipe abstrak yang digunakan untuk menentukan kontrak yang harus diimplementasikan oleh kelas, yang mengimplementasikan antarmuka tersebut. Biasanya sebuah antarmuka hanya akan berisi tanda tangan metode dan deklarasi konstan. Setiap antarmuka yang mengimplementasikan antarmuka tertentu harus menerapkan semua metode yang didefinisikan di antarmuka, atau harus dinyatakan sebagai kelas abstrak. Di Jawa, jenis referensi objek dapat didefinisikan sebagai tipe antarmuka. Tapi objek itu harus berupa nol atau harus memegang objek kelas, yang mengimplementasikan antarmuka tertentu itu. Menggunakan kata kunci Implements di Java, Anda dapat menerapkan beberapa antarmuka ke kelas tunggal. Antarmuka tidak dapat menerapkan antarmuka lain. Namun antarmuka bisa memperpanjang kelas.

Perbedaan antara Implements and Extends

Meskipun, Implements and Extends adalah dua kata kunci yang menyediakan mekanisme untuk mewarisi atribut dan perilaku ke kelas dalam bahasa pemrograman Java, keduanya digunakan untuk dua tujuan yang berbeda. Mengimplementasikan kata kunci digunakan untuk kelas untuk mengimplementasikan antarmuka tertentu, sementara Ekstensi kata kunci digunakan untuk subkelas untuk diperluas dari kelas super. Ketika sebuah kelas menerapkan sebuah antarmuka, kelas tersebut perlu menerapkan semua metode yang didefinisikan di antarmuka, namun ketika sebuah subkelas memperluas kelas super, mungkin kelas tersebut mungkin atau mungkin tidak menggantikan metode yang termasuk dalam kelas induk.Akhirnya, perbedaan kunci lain antara Implements and Extends adalah bahwa, sebuah kelas dapat mengimplementasikan beberapa antarmuka namun hanya dapat diperluas dari satu kelas super di Jawa. Secara umum penggunaan Implements (interfaces) dianggap lebih menguntungkan dibandingkan penggunaan Extends (pewarisan), karena beberapa alasan seperti fleksibilitas yang lebih tinggi dan kemampuan meminimalkan kopling. Oleh karena itu dalam prakteknya, pemrograman ke antarmuka lebih disukai daripada memperluas dari kelas dasar.