Belajar Konsep Polimorfisme pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Tutorial sebelumnya kita sudah mempelajari Apa itu Method Overriding pada Java, Polimorfisme merupakan salah satu sifat dari bahasa pemrograman berorientasikan objek (OOP), konsep ini hampir sama dengan overriding, yaitu kita dapat membuat nama method yang sama dari supeclass/kelas induk pada subclass/kelas anak yang diwariskannya tetapi melakukan hal yang berbeda.

Belajar Konsep Polimorfisme pada Java

Pada tutorial ini kita akan memcoba membuat sebuah program sederhana dengan menggunakan konsep polimorfisme, pada pemrograman OOP, konsep ini wajib kalian kuasai, karena untuk memudahkan programmer dalam membuat programnya.

Matei Lainnya Yang Direkomendarikan:

Konsep Polimorfisme pada Java

Pada program yang kita buat, kita akan menggunakan 4 class sekaligus, dimana terdapat 1 superclass dan beberapa subclass, masing-masing class tersebut akan kita berinama hewan (superclass), kucing (subclass), singa (subclass) dan karnivora (class utama/main).

Diamana semua data-data dari masing-masing subclass akan dijalnkan pada class karnivora, dan jangan lupa pada class kucing dan singa harus mewarisi/mengextends sifat-sifat dari class hewan, untuk persiapan, buatlah seperti berikut ini:

package WILDAN_TECHNO_ART;

//Superclass
class hewan{
    
}

//Subclass Pertama
class kucing extends hewan{
    
}

//Subclass Kedua
class singa extends hewan{
    
}

//Kelas Utama/Main
public class karnivora {
    public static void main(String[] args){
        
    }
}

Selanjutnya pada class hewan akan kita tambahkan beberapa atibut seperti variable dan method, dan pada masing-masing subclass akan menggunakan nama method yang sama dengan kelas induk mereka tetapi memiliki fungsi yang berbeda.

//Superclass
class hewan{
    
    //Method Default
    void setNama(){
        String hewan = "Tidak Bernama";
        System.out.println("Nama Hewan: "+hewan);
    }
    void setSuara(){
        String suara = "Tidak Bersuara";
        System.out.println("Suara Hewan: "+suara);
    }
    void setBerat(){
        double berat = 0.0;
        System.out.println("berat Hewan: "+berat+" Kg");
    }
}

//Subclass Pertama
class kucing extends hewan{
    
    @Override
    void setNama(){
        String kucing = "Carberus";
        System.out.println("Nama Kucing: "+kucing);
    }
    @Override
    void setSuara(){
        String suara = "Miaw Meow Meong";
        System.out.println("Suara Kucing: "+suara);
    }
    @Override
    void setBerat(){
        double berat = 2.0;
        System.out.println("berat Kucing: "+berat+" Kg");
    }
}

//Subclass Kedua
class singa extends hewan{
   
    @Override
    void setNama(){
        String singa = "Diablo";
        System.out.println("Nama Singa: "+singa);
    }
    @Override
    void setSuara(){
        String suara = "Roaaarrrr";
        System.out.println("Suara Singa: "+suara);
    }
    @Override
    void setBerat(){
        double berat = 10.0;
        System.out.println("berat Singa: "+berat+" Kg");
    } 
}

Terakhir, kita akan menjalankannya pada class karnivora, sebelumnya kita harus membuat instance/objek dari masing-masing class tersebut di class karnivora, supaya kita bisa memanggil method dari class-class tersebut dan menjalankannya.

//Kelas Utama/Main
public class karnivora {
    public static void main(String[] args){
        //Cara Penulisan Objek: (superclass) variable = new (subclass);
        System.out.println("===== HEWAN DEFAULT =====");
        hewan h = new hewan();
        h.setNama();
        h.setSuara();
        h.setBerat();
        
        System.out.println("===== HEWAN KUCING =====");
        hewan k = new kucing();
        k.setNama();
        k.setSuara();
        k.setBerat();
        
        System.out.println("===== HEWAN SINGA =====");
        hewan s = new singa();
        s.setNama();
        s.setSuara();
        s.setBerat();
    }
}

Demo:

Contoh penggunaan polimorfisme pada Java

Itulah konsep polimorfisme pada java, jadi kita dapat membuat method dengan nama yang sama pada subclass yang diwariskannya tetapi memiliki fungsi atau data-data yang berbeda, semoga bermanfaat.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.