Inheritance, Proses pewarian data dan method dari suatu kelas kepada kelas lain. Kelas yang mewariskan disebut
super class, sedangkan kelas yang diwariskan sering disebut
sub class. Dengan inheritance, class yang baru (
subclass) akan mirip dengan class yang lama (superclass) namun memiliki karakteristik yang baru. Contoh pewarisan :
class kendaraan merupakan
superclass bagi
class mobil, truk dan bis. Penerapan pewarisan dengan menggunakan keyword extends.
public class namaSubclass extends namaSuperclass {……..}
Contoh Program :
Dimana :
SuperClass : Person
SubClass : Dosen dan Mahasiswa
Person (Sebagai Super Class)
class Person{
private String Nama;
private String Alamat;
private int Umur;
public Person(){
}
public Person(String Nama, String Alamat, int Umur){
this.Nama = Nama;
this.Alamat = Alamat;
this.Umur = Umur;
}
public String getNama(){
return Nama;
}
public String getAlamat(){
return Alamat;
}
public int getUmur(){
return Umur;
}
public void setNama(String Nama){
this.Nama = Nama;
}
public void setAlamat(String Alamat){
this.Alamat = Alamat;
}
public void setUmur(int Umur){
this.Umur = Umur;
}
public void infoPerson() {
System.out.println("\nInfo Person");
System.out.println("Nama\t\t: " + getNama());
System.out.println("Alamat\t\t: " + getAlamat());
System.out.println("Umur\t\t: " + getUmur());
}
}
Dosen (Sebagai Sub Class)class Dosen extends Person{
private String idDosen;
public Dosen(){
}
public Dosen(String Nama, String Alamat, int Umur, String idDosen){
super(Nama, Alamat, Umur);
this.idDosen = idDosen;
}
public String getIdDosen(){
return idDosen;
}
public void setIdDosen(String idDosen){
this.idDosen = idDosen;
}
public void infoDosen(){
System.out.println("\nInfo Dosen");
System.out.println("idDosen\t\t: " + getIdDosen());
System.out.println("Nama\t\t: " + getNama());
System.out.println("Alamat\t\t: " + getAlamat());
System.out.println("Umur\t\t: " + getUmur());
}
}
Mahasiswa (Sebagai Sub Class)class Mahasiswa extends Person{
private String NIM;
public Mahasiswa(){
}
public Mahasiswa(String Nama, String Alamat, int Umur, String NIM){
super(Nama, Alamat, Umur);
this.NIM = NIM;
}
public String getNIM(){
return NIM;
}
public void setNIM(String NIM){
this.NIM = NIM;
}
public void infoMahasiswa(){
System.out.println("\nInfo Mahasiswa");
System.out.println("NIM\t\t: " + getNIM());
System.out.println("Nama\t\t: " + getNama());
System.out.println("Alamat\t\t: " + getAlamat());
System.out.println("Umur\t\t: " + getUmur());
}
}
Tampil (Menampilkan Data)class tampil{
public static void main(String[]asdasd){
Person a = new Person("Badar","Salatiga",29);
a.infoPerson();
Dosen b = new Dosen("Anggi","Jogja",45,"17.05.05");
b.infoDosen();
Mahasiswa c = new Mahasiswa("Ina","Ambon",17,"13.11.7066");
c.infoMahasiswa();
System.out.println("-----------------------------------");
}
}
Catatan :suatu atribut jika dideklarasikan sebagai private pada superclass, maka tidak akan bisa diakses oleh class turunannya ( subclass).
Suatu atribut yang dideklarasikan sebagai public dan protected tetap dapat diakses oleh class turunannya.
Keyword “super”
super digunakan oleh subclass untuk memanggil constructor atau method yang ada pada superclass-nya. atau dengan kata lain jika mendeklarasikan suatu property atau method dari subclass dengan nama yang sama dengan yang dimiliki oleh superclass.
Hasil :