Java adalah bahasa pemrograman yang dikembangkan oleh Sun Microsystems. Java dapat digunakan untuk mengembangkan berbagai aplikasi. Ini adalah bahasa multi-paradigma yang mendukung berorientasi objek, terstruktur dll. Keuntungan utama Java adalah mendukung bahasa pemrograman berorientasi objek (OOP). Programmer dapat membuat kelas dan objek. Ada empat pilar dalam OOP. Mereka adalah warisan, polimorfisme, abstraksi dan enkapsulasi. Warisan dan antarmuka terkait dengan OOP. Itu perbedaan utama antara warisan dan antarmuka adalah itu pewarisan adalah untuk mendapatkan kelas-kelas baru dari kelas-kelas yang ada dan sebuah antarmuka untuk mengimplementasikan kelas-kelas abstrak dan banyak pewarisan.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu Warisan di Jawa
3. Apa itu Interface di Java?
4. Kesamaan Antara Warisan dan Antarmuka di Jawa
5. Perbandingan Berdampingan - Warisan vs Antarmuka di Jawa dalam Bentuk Tabular
6. Ringkasan
Warisan dapat mencapai kegunaan kode kembali. Warisan membantu untuk menggunakan kembali atribut dan metode dari kelas yang ada. Mekanisme menurunkan kelas baru menggunakan kelas lama disebut warisan. Kelas lama dikenal sebagai kelas induk atau kelas super. Kelas turunannya disebut kelas anak atau subkelas.
Sintaks warisan Java adalah sebagai berikut.
class subclass_name extends superclass_name
deklarasi variabel;
deklarasi metode;
Konsep pewarisan dapat dijelaskan dengan menggunakan contoh berikut. Asumsikan ada kelas yang disebut A sebagai berikut.
kelas publik A
public void sum ()
System.out.println ("Sum");
Jika kita ingin menambahkan metode baru tanpa mengubah kelas yang ada, kita dapat melakukannya sebagai berikut.
kelas publik B
public void sub ()
System.out.println ("Sub");
Programmer dapat menggunakan warisan untuk menggunakan kelas A jumlah ().
kelas publik B memperluas kelas A
public void sub ()
System.out.println ("Sub");
Dalam fungsi utama, dimungkinkan untuk membuat objek B dan memanggil sub (), yang termasuk kelas B dan jumlah (), yang termasuk dalam kelas A menggunakan pewarisan.
public static public void (String [] args)
B obj = B baru ();
obj.sub ();
obj.sum ();
Ada berbagai jenis warisan. Mereka adalah warisan tunggal, warisan ganda, warisan multi-level, dan warisan hierarkis. Di warisan tunggal, ada satu kelas dasar dan satu kelas turunan. Di warisan multi-level, ada tiga kelas yaitu, kelas dasar, kelas menengah dan kelas turunan. Kelas menengah mewarisi dari kelas dasar, dan kelas turunan mewarisi dari kelas menengah. Di warisan hierarkis, ada satu kelas dasar dan banyak kelas turunan. Ada tipe khusus yang dikenal sebagai Warisan hibrid. Ini adalah kombinasi dari dua atau lebih jenis warisan.
Gambar 01: Warisan
Di Warisan berganda ada banyak kelas dasar dan satu kelas turunan. Asumsikan bahwa kelas A dan B adalah kelas dasar. Kelas C adalah kelas turunan. Jika kedua kelas A dan B memiliki metode yang sama dan pemrogram memanggil metode itu dari kelas turunan, itu akan menyebabkan masalah ambiguitas. Mewarisi dua kelas dapat menyebabkan kesalahan waktu kompilasi. Karenanya, multiple inheritance tidak didukung di Java. Antarmuka dapat digunakan untuk mengatasi masalah itu.
Abstraksi adalah proses menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas kepada pengguna. Abstraksi dapat dicapai dengan menggunakan Kelas Abstrak atau Antarmuka. Metode abstrak adalah metode tanpa implementasi. Kelas dengan setidaknya satu metode abstrak adalah kelas abstrak. Contoh kelas abstrak adalah sebagai berikut.
kelas abstrak A
abstrak void sum ();
Asumsikan bahwa ada dua kelas abstrak sebagai A dan B. Untuk menerapkan metode abstrak A dan B, kelas C baru dibuat. Maka kelas C harus memperluas A dan B., Tetapi multiple inheritance tidak didukung di Java. Karena itu, harus menggunakan antarmuka. Antarmuka dapat digunakan untuk mendeklarasikan metode, tetapi tidak mungkin untuk menentukan metode. Tidak mungkin membuat objek menggunakan antarmuka. Kelas C harus mengimplementasikan semua metode di antarmuka A dan B.
antarmuka A
membatalkan jumlah ();
antarmuka B
membatalkan sub ();
kelas C mengimplementasikan A, B
public void sum ()
System.out.println ("Penjumlahan");
public void sub ()
System.out.println ("Subtraction");
Sekarang, dalam program utama dimungkinkan untuk membuat objek C dan memanggil kedua metode.
public static public void (String [] args)
C obj = C baru ();
obj.sum ();
obj.sub ();
Jadi, antarmuka dapat digunakan untuk mengimplementasikan multiple inheritance.
Penggunaan lain dari antarmuka adalah menyediakan keamanan. Lihat kode di bawah ini.
antarmuka A
membatalkan jumlah ();
kelas B mengimplementasikan A
public void sum ()
System.out.println ("Penjumlahan");
public void multiply ()
System.out.println ("Multiplication");
Saat membuat objek B, dimungkinkan untuk memanggil kedua metode sum () dan multiply (). Jika programmer ingin membatasi menggunakan fungsi multiply (), dimungkinkan sebagai berikut.
public static public void (String [] args)
A obj = B baru ();
obj.sum ();
A obj = B baru (); akan membuat objek. Ini adalah tipe A dan memori dialokasikan sebagai B. Dimungkinkan untuk memanggil sum () tetapi tidak dapat menjalankan multiply (). Pembatasan ini dilakukan dengan menggunakan antarmuka.
Inheritance vs Interface di Java | |
Warisan adalah konsep OOP untuk mendapatkan kelas baru dari kelas yang ada. | Antarmuka adalah mekanisme dalam OOP untuk mengimplementasikan abstraksi dan multiple inheritance. |
Pemakaian | |
Pewarisan menyediakan penggunaan kembali kode. | Antarmuka menyediakan abstraksi dan pewarisan berganda. |
Java adalah bahasa pemrograman multi-paradigma yang mendukung pemrograman berorientasi objek. Warisan dan antarmuka terkait dengan pemrograman berorientasi objek. Perbedaan antara warisan dan antarmuka adalah bahwa warisan adalah untuk memperoleh kelas-kelas baru dari kelas-kelas dan antarmuka yang ada adalah untuk mengimplementasikan kelas-kelas abstrak dan banyak warisan.
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini Perbedaan Antara Warisan dan Antarmuka di Jawa
1. Point, Tutorial. “Java Inheritance.”, Tutorials Point, 31 Okt 2017. Tersedia di sini
2.Point, Tutorial. "Java Interfaces." , Tutorials Point, 31 Oktober 2017. Tersedia di sini
1.'CPT-OOP-inheritance-bikes 'By Pluke - Karya sendiri, (Domain Publik) via Commons Wikimedia