Setelah kemarin saya posting tentang apa itu Polimorfisme, rasanya masih kurang sempurna bila tanpa adanya suatu contoh. Dan postingan saya sekarang akan memuat contoh – contoh dari polimorfisme tersebut. Oke, langsung saja yang pertama \\(0_0)//
//Disimpan dengan Student.javaclass Student {public void Write(int ID, int Grad, String Fname, String Lname) {m_ID = ID;m_Graduation = Grad;m_First = Fname;m_Last = Lname;}public void Display(){System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);}private int m_ID, m_Graduation;private String m_First;private String m_Last;}
Kemudian,
//Simpan dalam StudentGrad.javaclass StudentGrad extends Student{public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major){super.Write(ID, Grad, Fname, Lname);m_UndergradSchool = unSch;m_Major = major;m_Grad = Grad;YearGraduated = yrGrad;}public void Display(){super.Display();System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);}private Integer YearGraduated,m_Grad;private String m_UndergradSchool;private String m_Major;}
Dan yang terakhir
//Simpan dalam bentuk StudentInfo.javaclass StudentInfo{public static void main (String args[]){StudentGrad myStudent = new StudentGrad();myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia University","CS");myStudent.Display();}}
Well, penjelasannya begini (yay)
Class Student mempunyai method Write yang digunakan untuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method Display.
Subclass Student dengan nama StudentGrad berisi sintaks untuk menampilkan info kelulusan. Polimorfisme terjadi antara kedua class StudentGrad dan Student dimana pada kedua class mempunyai dua dua method yang sama tetapi mempunyai bentuk yang berbeda sesuai dengan object yang digunakan untuk memanggilnya, yaitu Write() dan Display().
Class lain yaitu StudentInfo yang digunakan untuk memasukan agumen ke kedua method pada masing-masing class Student dan StudentGrad.
Sekarang Contoh yang kedua. Sebenarnya sama saja dengan contoh pertama tadi. (bah)
/*disimpan nama Hewan.java*/class Hewan {String nama, jenis, bersuara;Hewan(String nama, String jenis, String bersuara){//sintaks menampilkan namathis.nama=nama;this.jenis=jenis;this.bersuara=bersuara;}public String toString(){return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+bersuara;}public void bersuara(){}}
/*disimpan nama Polimorfisme.java*/import java.util.*;class Polimorfisme{public static void main(String args[]){Hewan[] hewannya = {new Anjing("Broni", "Herder", "Hug Hug Hug......"),new Kucing("Kiti", "Persia", "Meong.. Meong... "),new Ayam("Toki", "Buras", "kuk kruyu. ")};Hewan pilihHewan;Random pilih = new Random();for (int i = 0; i<5 ; i++){pilihHewan = hewannya[pilih.nextInt(hewannya.length)];System.out.println("\nPilihan Anda:\n" + pilihHewan);}}}
/*disimpan nama Ayam.java*/class Ayam extends Hewan{private String nama,jenis,bersuara;Ayam(String nama, String jenis, String bersuara){//sintaks menampilkan namasuper(nama, jenis, bersuara);}public void ShowAyam(){System.out.println("Nama Ayam : "+nama);System.out.println("Jenis Ayam : "+jenis);
//sintaks menampilkan nama dan jenis hewan
}public void bersuara(){//sintaks menampilkan suara hewanSystem.out.println("kuk kruyu. ");}
}
/*disimpan nama Kucing.java*/class Kucing extends Hewan{private String nama,jenis,bersuara;Kucing(String nama, String jenis, String bersuara){//sintaks menampilkan namasuper(nama, jenis, bersuara);}public void ShowKucing(){System.out.println("Nama Kucig : "+nama);System.out.println("Jenis Kucing : "+jenis);//sintaks menampilkan nama dan jenis hewan}public void bersuara(){//sintaks menampilkan suara hewanSystem.out.println("Meong.. Meong... ");}}
/*disimpan nama Anjing.java*/class Anjing extends Hewan{private String nama,jenis,bersuara;Anjing(String nama, String jenis, String bersuara){//sintaks menampilkan namasuper(nama, jenis, bersuara);}public void ShowAnjing(){System.out.println("Nama Anjing : "+nama);System.out.println("Jenis Anjing : "+jenis);//sintaks menampilkan nama dan jenis hewan
}public void bersuara(){//sintaks menampilkan suara hewanSystem.out.println("Hug Hug Hug...... ");}
}
