Cara Mudah Implementasi Pewarisan di Java

Tags

Cara Mudah Implementasi Pewarisan di Java - Pewarisan atau inheritance adalah mekanisme di mana suatu objek mengakuisisi semua sifat-sifat dan perilaku dari objek induk.

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.

Baca Juga : Cara Membuat Constructor di Java

Contoh Pewarisan dalam Java

package net.akira.basic;

/**
 *
 * @author Akira
 */
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.

Jenis _ Jenis Pewarisan dalam Java

Contoh Pewarisan Single

package net.akira.basic;

/**
 *
 * @author Akira
 */
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

package net.akira.basic;

/**
 *
 * @author Akira
 */
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

package net.akira.basic;

/**
 *
 * @author Akira
 */
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();
    }
}

Kenapa Multiple Inheritance Tidak Dapat Dilakukan di Java?

Untuk mengurangi kompleksitas dan menyederhanakan bahasa, multiple inheritance tidak didukung oleh java.

Misalnya kalian membuat 3 (tiga) class yaitu A, B dan C. class C merupakan turunan dari class A dan B. Jika class A dan B memiliki sebuah method yang sama dan kalian memanggil method tersebut di class C maka terjadi ambigu method dari class mana yang akan dipanggil oleh class C tersebut.

Sederhananya seperti ini, apakah mungkin seorang anak lahir dari 2 (dua) orang ibu? Tidak mungkin, yang  benar adalah seorang ibu dapat memiliki 2 (dua) orang anak.

Berikut souce code dari contoh multiple inherintance yang tidak dapat dilakukan di java.

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class A {
    public void cetak(){
        System.out.println("Pesan dari class A");
    }
}
class B {
    public void cetak(){
        System.out.println("Pesan dari class B");
    }
}
class C extends A,B {
    public static void main(String[] args){
        C obj = new C();
        obj.cetak();
    }
}

Akan terdapat ERROR pada baris class C extends A,B { dan ini membuktikan bahwa java tidak dapat melakukan multiple inheritance.

Baca Juga : Cara Membuat Method Setter dan Getter

Sekian tutorial java mengenai implementasi pewarisan atau inheritance di java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
XFP8-XA5X-GZ1P-TGTO


EmoticonEmoticon