Grafik Perbandingan
Dasar untuk Perbandingan | Meluas | Implements |
---|---|---|
Dasar | Kata kunci extends digunakan untuk membuat subclass menggunakan fitur kelas super. | Kata kunci implement digunakan untuk implementasi antarmuka |
Metode | Kata kunci extends tidak boleh mengesampingkan semua metode kelas super. | Kata kunci implement harus mengimplementasikan semua metode antarmuka yang diimplementasikan. |
Kelas | Kelas hanya dapat memperpanjang satu kelas super. | Sebuah kelas dapat mengimplementasikan beberapa antar muka. |
Antarmuka | Antarmuka 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
- Kelas dapat mewarisi kelas lain, atau antarmuka mewarisi antarmuka lain menggunakan kata kunci meluas sedangkan, kelas dapat mengimplementasikan antarmuka menggunakan implementasi kata kunci.
- 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.
- Kelas dapat mengimplementasikan sejumlah antarmuka secara bersamaan. Di sisi lain, suatu kelas hanya dapat memperluas satu kelas super.
- 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.