Daftar Isi
Lancang Kuning - Inheritance di Java adalah mekanisme di mana satu objek memperoleh semua properti dan perilaku objek induk. Ini adalah bagian penting dari OOP (Object Oriented programming system). Gagasan di balik Inheritance di Java adalah Anda dapat membuat kelas baru yang dibangun di atas kelas yang ada.
Saat Anda mewarisi dari kelas yang ada, Anda bisa menggunakan kembali metode dan bidang kelas induk. Selain itu, Anda dapat menambahkan metode dan bidang baru di kelas Anda saat ini juga. Inheritance merupakan hubungan IS-A yang juga dikenal sebagai hubungan orangtua-anak.
Baca juga : Tempat Wisata di Riau
Mengapa menggunakan inheritance di java
- Untuk Metode Overriding (sehingga polimorfisme runtime dapat dicapai).
- Untuk Reusability Kode.
Istilah yang digunakan dalam inheritance
- Kelas: Kelas adalah sekelompok objek yang memiliki sifat umum. Ini adalah template atau cetak biru dari mana objek dibuat.
- Sub Kelas / Kelas Anak: Subclass adalah kelas yang mewarisi kelas lain. Ini juga disebut kelas turunan, kelas lanjutan, atau kelas anak.
- Kelas Super / Kelas Induk: Kelas Super adalah kelas tempat subkelas mewarisi fitur. Ini juga disebut kelas dasar atau kelas induk.
- Reusability: Seperti namanya, reusability adalah mekanisme yang memfasilitasi Anda untuk menggunakan kembali bidang dan metode kelas yang ada saat Anda membuat kelas baru. Anda dapat menggunakan bidang dan metode yang sama yang sudah ditentukan di kelas sebelumnya.
Sintaks inheritance java
class Subclass-name extends Superclass-name
{
//methods and fields
}
Kata kunci extends menunjukkan bahwa Anda membuat kelas baru yang berasal dari kelas yang ada. Arti "meluas" adalah untuk meningkatkan fungsionalitas. Dalam terminologi Java, kelas yang diwarisi disebut orang tua atau superclass, dan kelas baru disebut anak atau subkelas.
Contoh inheritance java
Contoh inheritance java yakni sebagai berikut, Programmer adalah subclass dan Karyawan adalah superclass. Hubungan antara dua kelas adalah Programmer IS-A Karyawan. Ini berarti bahwa Programmer adalah tipe Karyawan. Dalam contoh tersebut dapat diartikan, objek Programmer dapat mengakses bidang kelas sendiri serta kelas reusability kode Karyawan.
Jenis-jenis inheritance di java
Berdasarkan kelas, bisa ada tiga jenis inheritance di java: single, multilevel dan hierarchical. Dalam pemrograman java, inheritance multiple dan hybrid hanya didukung melalui antarmuka.
Contoh inheritance single
Ketika suatu kelas mewarisi kelas lain, itu dikenal sebagai satu warisan. Dalam contoh yang diberikan di bawah ini, kelas Anjing mewarisi kelas Hewan, jadi ada inherintace single.
File: TestInheritance.java
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class TestInheritance{
public static void main(String args[]){
Dog d=new Dog();
d.bark();
d.eat();
}}
Output:
barking...
eating...
Contoh inherintace multilevel
Ketika ada rantai warisan, itu dikenal sebagai inheritance multilevel. Seperti yang Anda lihat dalam contoh yang diberikan di bawah ini, kelas BabyDog mewarisi kelas Anjing yang lagi mewarisi kelas Hewan, jadi ada warisan bertingkat.
Baca juga : Pengertian Polymorphism
File: TestInheritance2.java
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class BabyDog extends Dog{
void weep(){System.out.println("weeping...");}
}
class TestInheritance2{
public static void main(String args[]){
BabyDog d=new BabyDog();
d.weep();
d.bark();
d.eat();
}}
Output:
weeping...
barking...
eating...
Contoh inheritance hierarchical
Ketika dua atau lebih kelas mewarisi satu kelas, itu dikenal sebagai inheritance hierarchical. Dalam contoh yang diberikan di bawah ini, kelas Anjing dan Kucing mewarisi kelas Hewan, jadi ada warisan hierarkis.
File: TestInheritance3.java
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void bark(){System.out.println("barking...");}
}
class Cat extends Animal{
void meow(){System.out.println("meowing...");}
}
class TestInheritance3{
public static void main(String args[]){
Cat c=new Cat();
c.meow();
c.eat();
//c.bark();//C.T.Error
}}
Output:
meowing...
eating...
Baca juga : Tempat Wisata di Pekanbaru
Mengapa multiple inheritance tidak didukung di java?
Untuk mengurangi kompleksitas dan menyederhanakan bahasa, banyak inheritance tidak didukung di java. Pertimbangkan skenario di mana A, B, dan C adalah tiga kelas. Kelas C mewarisi kelas A dan B. Jika kelas A dan B memiliki metode yang sama dan Anda memanggilnya dari objek kelas anak, akan ada ambiguitas untuk memanggil metode kelas A atau B.
Karena kesalahan waktu kompilasi lebih baik daripada kesalahan runtime, Java membuat kesalahan waktu kompilasi jika Anda mewarisi 2 kelas. Jadi apakah Anda memiliki metode yang sama atau berbeda, akan ada kesalahan waktu kompilasi. (Mawar)
Komentar