Pewarisan di Java

By: Johan Supriyanto, S.Kom. - April 16, 2013
Sebelumnya saya telah membahas mengenai dasar pemrograman berorientasi objek, kali ini saya akan membahas  mengenai Pewarisan di Java.
Apa yang dimaksud pewarisan?
•Setiap kelas bisa menurutkan seluruh atribut, prosedur dan fungsi ke kelas lain melalui pewarisan.
•Setiap kelas dapat mewariskan ke lebih dari satu kelas tetapai setiap kelas hanya bisa mewarisi satu kelas.
•Di Java pewarisan bisa menggunakan kata kunci extends.
Contoh Pewarisan (1)
public class Parent {
    public String nama;
    public String getNama(){
        return this.nama;
    }
    public void setNama(String nama){
        this.nama = nama;
    }
}
Contoh Pewarisan (2)
public class Child extends Orang {
   
}
Contoh Pewarisan (3)
Child anak = new Child();
anak.setNama(“Santo”);
System.out.println(anak.getNama());

Super
Kata Kunci super?
•Kata kunci super digunakan untuk memanggil kelas parent (kelas yang diwarisi).
•Penggunaan kata kunci super, hampir sama dengan kata kunci this.
Contoh super (1)
public class Parent {
    public void mulaiJalan(){
        System.out.println(“Jalan!!!”);
    }
     
}
Contoh super (2)
public class Child extends Parent{
    public void mulaiLari(){
        super.mulaiJalan();
        System.out.println(“Lari!!!”);
    }
}
Contoh super(3)
Child anak = new Child();
anak.mulaiLari();
// output
Jalan!!!
Lari!!!

Visibility Protected
•Protected hanya dapat dilihat oleh kelas itu sendiri, kelas dalam paket yang sama, dan kelas turunannya.
•Dalam paket yang berbeda, Protected tidak dapat diakses dari kelas yang berada.
Contoh Protected
public classs NamaKelas {
    protected String namaAtribut;
    protected void namaProsedur(){
    }
    protected TipeData namaFungsi(){
        return hasil;
    }
}

Overiding
Apa yang dimaksud Overiding?
•Overiding adalah kemampuan mendeklarasikan ulang prosedur atau fungsi yang sudah ada di kelas parent.
Contoh Overiding (1)
public class Parent {
    public void tampilInfo(){
        System.out.println(“Parent”);
    }
}
Contoh Overiding (2)
public class Child extends Parent {
    public void tampilInfo(){
        System.out.println(“Child”);
    }
}
Contoh Overiding (3)
Child anak = new Child();
anak.tampilInfo();
// output
Child

Metode Final
Apa yang dimaksud dengan Metode Final?
•Metode final merupakan prosedur dan fungsi yang tidak dapat ladi di-override pada kelas turunannya.
•Untuk membuat sebuah prosedur dan fungsi final, dapat menggunakan kata kunci final.
Contoh Metode Final?
public class NamaKelas {
    public final void prosedurFinal(){
    }
    public final TipeData fungsiFinal(){
        return hasil;
    }
}

Kelas Final
Apa yang dimaksud Kelas Final?
•Kenal Final merupakan kelas yang tidak dapat diturunkan oleh kelas lain.
•Untuk membuat sebuah kelas menjadi final, dapat menggunakan kata kunci final.
Contoh Kelas Final
public final class NamaKelas {
    // isi kelas
}

Polimorfisme
Apa yang dimaksud Polimorfisme?
•Polimorfisme merupakan kemampuan sebuah kelas bertingkah laku atau memiliki sifat selerti kelas turunannya.
•Dengan menggunakan polimorfisme, sebuah kelas dapat disamarkan menjadi kelas parentnya.
Contoh Polimorfisme (1)
Parent objek = new Child();

Instanceof
•Kata kunci instanceof digunakan untuk mengecek apakah sebuah objek merupakan kelas tertentu.
•Hasil dari penggunaan instanceof adalah boolean.
Menggunakan instanceof
boolean hasil = objek instanceof NamaKelas;
if(objek instanceof NamaKelas){
    // jika objek adalah NamaKelas
}

Konversi Kelas
Apa yang dimaksud?
•Object polimorfisme dapat dikembalikan ke Object kelas semua menggunakan koversi kelas.
•Konversi kelas dapat menggunakan tanda (NamaKelas)
Contoh Konversi Kelas
Parent a = new Child();
Child b = (Child) a;

equals()
Apa yang dimaksud equals()?
•Fungsi equals() merupakan fungsi yang digunakan untuk membandingkan dua buah objek.
•Membandingkan objek tidak dapat dilakukan dengan menggunakan operator perbandingan ==
•Disarankan untuk melakukan override terhadap metode equals()
Contoh equals()
public class NamaKelas {
    private String id;
    public boolean equals(Object o){
        // pengecekan kesamaan
    }
}

hashCode()
Apa yang dimaksud hashCode()
•hashCode() merupakan fungi yang menghasilkan nilai integer unik untuk tiap objek.
•Fungsi hashCode() erat kaitannya dengan fungsi equals()
Ketentuan hashCode()
•Jika dua buah objek dibandingan dengan fungsi equals() menghasilkan nilai true, maka hasil fungsi hashCode() untuk kedua objek tersebut harus sama pula.
•Jika dua buah objek dibandingkan dengan fungsi equals() menghasilkan nilai false, maka hasil fungsi hashCode() untuk kedua objek tersebut boleh sama ataupun tidak.
Contoh hashCode()
public class NamaKelas {
    private String id;
    public int hashCode(){
        // membuat hashcode
    }
}

toString()
Apa yang dimaksud toString()
•Fungsi toString() merupakan fungsi yang menghasilkan nilai String untuk sebuah objek.
•Fungsi toString() akan dipanggil saat kita menuliskan output menggunakan System.out.println();
Contoh toString()
public class NamaKelas {
    public String toString(){
        // isi fungsi
    }
}

Demikian pembahasan kli ini mengenai pewarisan di java, semoga penjelasan di atas mudah dipahami.

Artikel Terkait