Polymorphism,
suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu
keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan
tanggapan/respon terhadap pesan yang sama sesuai dengan sifat
masing-masing obyek,jadi pada dasarnya polymorphism itu diberi perintah dan proses yang sama tetapi hasil akhirnya berbeda sebagai contoh: harimau diberi perintah jalan maka ia akan berlari,dan burung elang di beri perintah maka ia akan terbang tinggi.
Atau Polymorphism
dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa
(override), suatu method, yang berasal dari parent class (super class)
dimana object tersebut diturunkan, sehingga memiliki kelakuan yang
berbeda.
Polymorphism
dapat disamakan dengan Method Overloading, dimana di dalam sebuah class
terdapat beberapa method dengan nama sama. Sebuah Method bernama
CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak
bisa menangani masukan berupa data numerik, boolean, ataupun karakter,
demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan
menyediakan beberapa Method CetakData() yang akan menangani setiap tipe
data, sehingga data apapun yang diberikan sebagai parameter tetap bisa
diproses.
Berikut adalah contoh program Polymorphism pada Java:
Berikut adalah contoh program Polymorphism pada Java:
Contoh Program
- Simpan dengan nama CetakDataTipe.java
class CetakDataTipe {
// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
- Simpan dengan nama Polymorphism.java
public class Polymorphism {
public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();
CetakDataTipe data = new CetakDataTipe();
System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");
data.CetakData("Sumatra");
System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);
data.CetakData(16.5 / 2);
System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
data.CetakData('N');
}
}