Garis besar topik
-
Dalam OOP kalian dapat membuat class baru (Sub class) dengan mewarisi sifat-sifat dari class yang sudah ada (Super class). Ketika kalian membuat class yang mewarisi dari class yang sudah ada, kalian dapat menggunakan kembali method dan variabel dari class induk, dan kalian juga dapat menambahkan method baru.Namun apakah semua method dan variabel dari super class dapat diturunkan ke sub class? Tidak, method atau variabel dengan modifier private tidak dapat diwariskan ke sub class.
Contoh Pewarisan dalam Java
public class Pegawai { double gaji = 5000000; } class Programmer extends Pegawai{ double bonus = 20000000; } class TestPewarisan { public static void main(String[] args){ Programmer obj = new Programmer(); System.out.println("Gaji Programmer "+obj.gaji); System.out.println("Bonus Programmer "+obj.bonus); } }
Nb. Untuk melakukan pewarisan gunakan keyword extends.Jenis - Jenis Pewarisan dalam Java
Pada java terdapat 3(tiga) jenis pewarisan : Single, Multilevel dan Hierarchical.
Contoh Pewarisan Single
public class A { public void cetak(){ System.out.println("Pesan dari class A"); } } class B extends A{ public void msg(){ System.out.println("Pesan dari class B"); } } class TestPewarisan { public static void main(String[] args){ B obj = new B(); obj.cetak(); obj.msg(); } }Contoh Pewarisan Multilevel
public class A { public void msgA(){ System.out.println("Pesan dari class A"); } } class B extends A{ public void msgB(){ System.out.println("Pesan dari class B"); } } class C extends B{ public void msgC(){ System.out.println("Pesan dari class C"); } } class TestPewarisan { public static void main(String[] args){ C obj = new C(); obj.msgA(); obj.msgB(); obj.msgC(); } }Contoh Pewarisan Hierarchical
public class A { public void msgA(){ System.out.println("Pesan dari class A"); } } class B extends A{ public void msgB(){ System.out.println("Pesan dari class B"); } } class C extends A{ public void msgC(){ System.out.println("Pesan dari class C"); } } class TestPewarisan { public static void main(String[] args){ C obj = new C(); obj.msgA(); obj.msgC(); } }
