Perbedaan Utama - Warisan vs Antarmuka di Java
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 pemrograman Berorientasi Objek (OOP). Pemrogram dapat membuat kelas dan objek. Ada empat pilar dalam OOP. Mereka adalah pewarisan, polimorfisme, abstraksi dan enkapsulasi. Warisan dan antarmuka terkait dengan OOP. Perbedaan utama antara pewarisan dan antarmuka adalah bahwa pewarisan adalah untuk mendapatkan kelas baru dari kelas yang ada dan antarmuka untuk mengimplementasikan kelas abstrak dan beberapa pewarisan.
ISI
1. Gambaran Umum dan Perbedaan Utama
2. Apa itu Warisan di Java
3. Apa itu Antarmuka di Java
4. Persamaan Antara Warisan dan Antarmuka di Jawa
5. Perbandingan Berdampingan - Warisan vs Antarmuka di Jawa dalam Bentuk Tabular
6. Ringkasan
Apa itu Warisan di Jawa?
Pewarisan dapat mencapai kegunaan ulang kode. Pewarisan membantu menggunakan kembali atribut dan metode kelas yang ada. Mekanisme penurunan kelas baru menggunakan kelas lama disebut warisan. Kelas lama dikenal sebagai kelas induk atau kelas super. Kelas turunan disebut kelas anak atau subkelas.
Sintaks warisan Java adalah sebagai berikut.
class subclass_name memperluas superclass_name {
deklarasi variabel;
deklarasi metode;
}
Konsep pewarisan dapat dijelaskan menggunakan contoh berikut. Asumsikan bahwa ada kelas yang disebut A sebagai berikut.
kelas publik A {
public void sum () {
System.out.println ("Jumlah");
}
}
Jika kita ingin menambahkan metode baru tanpa mengubah kelas yang sudah ada, kita dapat melakukannya sebagai berikut.
kelas publik B {
public void sub () {
System.out.println ("Sub");
}
}
Programmer dapat menggunakan warisan untuk menggunakan kelas A sum ().
publik kelas B memperluas kelas A {
public void sub () {
System.out.println ("Sub");
}
}
Dalam fungsi utama, dimungkinkan untuk membuat objek B dan memanggil sub (), yang dimiliki kelas B dan sum (), yang termasuk kelas A menggunakan pewarisan.
public static void main (String args) {
B obj = baru B ();
obj.sub ();
obj.sum ();
}
Ada berbagai jenis warisan. Mereka adalah warisan tunggal, warisan berganda, warisan multi-level, dan warisan hierarkis. Dalam pewarisan tunggal, ada satu kelas dasar dan satu kelas turunan. Pada pewarisan multi level terdapat tiga kelas yaitu kelas dasar, kelas menengah dan kelas turunan. Kelas menengah mewarisi dari kelas dasar, dan kelas turunan mewarisi dari kelas menengah. Dalam pewarisan 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
Dalam Multiple inheritance 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. Oleh karena itu, beberapa warisan tidak didukung di Java. Sebuah antarmuka dapat digunakan untuk mengatasi masalah tersebut.
Apa itu Interface di Java?
Abstraksi adalah proses menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas kepada pengguna. Abstraksi dapat dicapai dengan menggunakan Kelas atau Antarmuka Abstrak. Metode abstrak adalah metode tanpa implementasi. Kelas dengan setidaknya satu metode abstrak adalah kelas abstrak. Contoh kelas abstrak adalah sebagai berikut.
abstrak kelas A {
abstrak void sum ();
}
Asumsikan bahwa ada dua kelas abstrak sebagai A dan B. Untuk mengimplementasikan metode abstrak A dan B, kelas C baru dibuat. Kemudian kelas C harus memperluas A dan B., Tapi beberapa warisan tidak didukung di Java. Oleh karena itu, sebaiknya menggunakan interface. Antarmuka dapat digunakan untuk mendeklarasikan metode, tetapi tidak mungkin untuk mendefinisikan metode. Tidak mungkin membuat objek menggunakan antarmuka. Kelas C harus mengimplementasikan semua metode di antarmuka A dan B.
antarmuka A {
void sum ();
}
antarmuka B {
void sub ();
}
kelas C mengimplementasikan A, B {
public void sum () {
System.out.println ("Penjumlahan");
}
public void sub () {
System.out.println ("Pengurangan");
}
}
Sekarang, dalam program utama dimungkinkan untuk membuat objek C dan memanggil kedua metode.
public static void main (String args) {
C obj = baru C ();
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 {
void sum ();
}
kelas B mengimplementasikan A {
public void sum () {
System.out.println ("Penjumlahan");
}
public void multiply () {
System.out.println ("Perkalian");
}
}
Saat membuat objek B, dimungkinkan untuk memanggil kedua metode sum () dan multiply (). Jika programmer ingin membatasi penggunaan fungsi multiply (), dimungkinkan sebagai berikut.
public static void main (String args) {
A obj = baru B ();
obj.sum ();
}
A obj = baru B (); akan membuat sebuah objek. Ini adalah tipe A dan memori dialokasikan sebagai B. Dimungkinkan untuk memanggil sum () tetapi tidak dapat mengeksekusi multiply (). Pembatasan ini dilakukan dengan menggunakan antarmuka.
Apa Persamaan Antara Warisan dan Antarmuka di Java?
- Kedua konsep tersebut terkait dengan Pemrograman Berorientasi Objek
- Keduanya mewakili hubungan IS-A.
Apa Perbedaan Antara Warisan dan Antarmuka di Java?
Artikel Diff Tengah sebelum Tabel
Warisan vs Antarmuka di Java |
|
Inheritance adalah konsep OOP untuk mendapatkan kelas baru dari kelas yang sudah ada. | Interface adalah mekanisme dalam OOP untuk mengimplementasikan abstraksi dan multiple inheritance. |
Pemakaian | |
Warisan memberikan kode dapat digunakan kembali. | Antarmuka menyediakan abstraksi dan banyak warisan. |
Ringkasan - Warisan vs Antarmuka di Java
Java adalah bahasa pemrograman multi-paradigma yang mendukung pemrograman berorientasi objek. Pewarisan dan antarmuka terkait dengan pemrograman berorientasi objek. Perbedaan antara pewarisan dan antarmuka adalah bahwa pewarisan adalah untuk mendapatkan kelas baru dari kelas yang ada dan antarmuka untuk mengimplementasikan kelas abstrak dan beberapa pewarisan.
Unduh Versi PDF dari Warisan vs Antarmuka di Java
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silahkan download versi PDF disini Perbedaan Antara Warisan dan Antarmuka di Java