Perbedaan Kunci – 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 memperoleh kelas baru dari kelas yang ada dan antarmuka adalah untuk mengimplementasikan kelas abstrak dan pewarisan berganda.
Apa itu Warisan di Jawa?
Inheritance 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 pewarisan. Kelas lama dikenal sebagai kelas induk atau kelas super. Kelas turunan disebut kelas anak atau subkelas.
Sintaks pewarisan Java adalah sebagai berikut.
class subclass_name memperluas superclass_name {
deklarasi variabel;
deklarasi metode;
}
Konsep pewarisan dapat dijelaskan dengan menggunakan contoh berikut. Asumsikan ada kelas bernama A sebagai berikut.
kelas publik A{
jumlah batal publik(){
System.out.println(“Jumlah”);
}
}
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 sum().
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 kelas A menggunakan pewarisan.
public static void main(String args){
B obj=new B();
obj.sub();
obj.sum();
}
Ada berbagai jenis warisan. Mereka adalah pewarisan tunggal, pewarisan berganda, pewarisan multi-level, dan pewarisan hierarkis. Dalam pewarisan tunggal, ada satu kelas dasar dan satu kelas turunan. Dalam pewarisan 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. Dalam pewarisan hierarki, ada satu kelas dasar dan banyak kelas turunan. Ada tipe khusus yang dikenal sebagai pewarisan Hibrida. Merupakan kombinasi dari dua atau lebih jenis pewarisan.
Gambar 01: Warisan
Dalam pewarisan 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 programmer memanggil metode tersebut dari kelas turunan, maka akan menimbulkan masalah ambiguitas. Mewarisi dua kelas dapat menyebabkan kesalahan waktu kompilasi. Oleh karena itu, pewarisan berganda tidak didukung di Jawa. Sebuah antarmuka dapat digunakan untuk mengatasi masalah itu.
Apa itu Antarmuka di Java?
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.
abstrak kelas A{
abstract void sum();
}
Asumsikan bahwa ada dua kelas abstrak sebagai A dan B. Untuk mengimplementasikan metode abstrak A dan B, kelas C baru dibuat. Maka kelas C harus memperluas A dan B., Tetapi pewarisan berganda tidak didukung di Jawa. Oleh karena itu, harus menggunakan antarmuka. 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{
jumlah batal();
}
antarmuka B{
void sub();
}
kelas C mengimplementasikan A, B{
jumlah batal publik(){
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=new C();
obj.sum();
obj.sub();
}
Jadi, interface dapat digunakan untuk mengimplementasikan multiple inheritance.
Penggunaan antarmuka lainnya adalah menyediakan keamanan. Lihat kode di bawah ini.
antarmuka A {
jumlah batal ();
}
kelas B mengimplementasikan A {
jumlah batal publik () {
System.out.println(“Penjumlahan”);
}
public void multiply () {
System.out.println(“Perkalian”);
}
}
Saat membuat objek B, dimungkinkan untuk memanggil kedua metode sum () dan perkalian (). Jika programmer ingin membatasi menggunakan fungsi multiply(), maka bisa dilakukan sebagai berikut.
public static void main(String args){
A obj=new B();
obj.sum();
}
A obj=new B(); akan membuat 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 terkait dengan Pemrograman Berorientasi Objek
- Keduanya mewakili hubungan IS-A.
Apa Perbedaan Antara Warisan dan Antarmuka di Java?
Pewarisan vs Antarmuka di Java |
|
Inheritance adalah konsep OOP untuk menurunkan kelas baru dari kelas yang ada. | Interface adalah mekanisme dalam OOP untuk mengimplementasikan abstraction dan multiple inheritance. |
Penggunaan | |
Inheritance menyediakan penggunaan kembali kode. | Antarmuka menyediakan abstraksi dan pewarisan berganda. |
Ringkasan – Warisan vs Antarmuka di Java
Java adalah bahasa pemrograman multi-paradigma yang mendukung pemrograman berorientasi objek. Warisan dan antarmuka terkait dengan pemrograman berorientasi objek. Perbedaan antara pewarisan dan antarmuka adalah bahwa pewarisan adalah untuk memperoleh kelas-kelas baru dari kelas-kelas yang ada dan antarmuka adalah untuk mengimplementasikan kelas-kelas abstrak dan pewarisan berganda.
Unduh Versi PDF Warisan vs Antarmuka di Java
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 Java