Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara memperluas dan mengimplementasikan kata kunci di Jawa

Kata kunci meluas dan mengimplementasikan digunakan untuk mewarisi fitur dari blok induk yang sudah ada di blok anak yang baru dibuat. Menggunakan kata kunci extends, kelas (subclass) yang baru dibuat dapat mewarisi fitur kelas yang ada (superclass). Menggunakan kata kunci implement, kelas yang baru dibuat dapat mengimplementasikan semua metode antarmuka. Perbedaan utama antara kata kunci meluas dan mengimplementasikan adalah bahwa kelas memperluas kelas lain untuk mewarisi semua anggotanya sedangkan, kelas mengimplementasikan antarmuka untuk mewarisi semua metode itu dan mengimplementasikannya sesuai dengan kebutuhannya. Ada beberapa perbedaan lain antara perluasan kata kunci dan penerapan yang dibahas dalam bagan perbandingan yang ditunjukkan di bawah ini.

Grafik Perbandingan

Dasar untuk PerbandinganMeluasImplements
DasarKata kunci extends digunakan untuk membuat subclass menggunakan fitur kelas super.Kata kunci implement digunakan untuk implementasi antarmuka
MetodeKata kunci extends tidak boleh mengesampingkan semua metode kelas super.Kata kunci implement harus mengimplementasikan semua metode antarmuka yang diimplementasikan.
KelasKelas hanya dapat memperpanjang satu kelas super.Sebuah kelas dapat mengimplementasikan beberapa antar muka.
AntarmukaAntarmuka dapat memperluas lebih dari satu antarmuka.Antarmuka tidak dapat mengimplementasikan antarmuka lain.

Definisi kata kunci yang diperluas

Warisan menjadi konsep penting dalam Pemrograman Berorientasi Objek, dicapai ketika subclass meluas ke superkelas lain. Subkelas diizinkan untuk memperpanjang hanya satu superclass. Sebuah kelas tidak pernah dapat memperluas lebih dari satu kelas super di Jawa. Ketika sebuah kelas memperluas kelas lain, itu bisa menimpa metode yang didefinisikan dalam kelas super. Biarkan kami memahami kata kunci meluas dengan bantuan contoh.

 class A {String s; A (String s1) {s = s1; } // display string void display () {System.out.println (+ s); }} kelas B meluas A {String i; B (String s1, String i1) {super (s1); i = i1; } membatalkan dispaly () {super.dispaly (); / * display () dari kelas A. dipanggil. * / System.out.println (+ i); }} class Override {public static void main (String args []) {B ob = new B (Tech, Differences); ob.display (); / * tampilan kelas B dipanggil * /}} / * out put * / Perbedaan Teknologi 

Dalam kode di atas, Anda dapat mengamati bahwa kelas B telah memperluas kelas A dan telah mengesampingkan tampilan metode () yang didefinisikan dalam kelas A. Dengan cara yang sama sebuah antarmuka dapat memperluas lebih dari satu antarmuka sekaligus. Karena antarmuka tidak harus mengimplementasikan metode apa pun dari antarmuka yang diperluas, maka, ia diizinkan untuk mewarisi banyak antarmuka sekaligus.

Definisi kata kunci implement

Menggunakan implementasi kata kunci, kelas mewarisi semua metode dalam sebuah antarmuka. Ketika sebuah kelas mengimplementasikan antarmuka, kelas itu harus mengimplementasikan semua metode antarmuka yang diimplementasikan. Antarmuka tidak pernah dapat mengimplementasikan antarmuka lain, karena mengimplementasikan kata kunci menjanjikan implementasi metode, tetapi antarmuka tidak pernah mengimplementasikan metode di dalamnya, sehingga tidak mungkin bagi antarmuka untuk mengimplementasikan antarmuka lain. Biarkan kami memahami penerapan kata kunci dengan bantuan contoh.

 antarmuka string {void display (String s); } integer antarmuka {void show (int i); } class Demo mengimplementasikan string, integer {void show (int i) {System.Out.Println ("nilai integer:" + i); } Batal tampilan (String s) {System.Out.Println ("nilai string:" + s); }} class Demo_main {public static void main (string args []) {Demo d = Demo baru (); d.display ("TechDifferences"); d.show (2); }} / * output * / TechDifferences 2 

Seperti pada kode di atas Anda dapat melihat bahwa demo kelas mengimplementasikan dua antarmuka string dan integer dan telah mengimplementasikan metode yang dideklarasikan di kedua antarmuka yang ditampilkan () dan ditampilkan ().

Perbedaan utama antara ekstensi dan implementasi

  1. Kelas dapat mewarisi kelas lain, atau antarmuka mewarisi antarmuka lain menggunakan kata kunci meluas sedangkan, kelas dapat mengimplementasikan antarmuka menggunakan implementasi kata kunci.
  2. Subclass yang memperpanjang superclass mungkin atau mungkin tidak menimpa semua metode dalam superclass. Di sisi lain, kelas yang mengimplementasikan antarmuka harus mendefinisikan / mengimplementasikan semua metode antarmuka itu.
  3. Kelas dapat mengimplementasikan sejumlah antarmuka secara bersamaan. Di sisi lain, suatu kelas hanya dapat memperluas satu kelas super.
  4. Antarmuka dapat memperluas sejumlah antarmuka, tetapi antarmuka tidak pernah dapat mengimplementasikan antarmuka lain karena sarana penerapan mendefinisikan metode dan antarmuka selalu memiliki metode abstrak sehingga antarmuka tidak pernah dapat mengimplementasikan antarmuka lain.

Kesimpulan:

Saya menyimpulkan diskusi yang mengatakan bahwa mengimplementasikan antarmuka membuat kode lebih fleksibel daripada memperluas kelas. Karena itu menghindari pembatasan mewarisi hanya satu kelas super di Jawa. Menggunakan kata kunci implement suatu kelas dapat mewarisi fitur lebih dari satu antarmuka.

Top