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 {
……..
}
Dosen (Sebagai Sub Class)
Mahasiswa (Sebagai Sub Class)
Tampil (Menampilkan Data)
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 :
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());
}
}
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());
}
}
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());
}
}
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("-----------------------------------");
}
}
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 :
1 Komentar untuk "Pengertian Inheritance Beserta Contoh Programnya"
terimakasih atas contoh dan penjelasanny, sangat membantu :) angan lupa visit http://wartawarga.gunadarma.ac.id/