Polimorfisme adalah
Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk
yang berbeda agar tidak terjadi duplikasi object. Polimorfisme mengizinkan
kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua
kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui
implementasi dari method tersebut secara lebih spesifik sesuai dengan
karakteristiknya masing-masing. Polimorfisme dimungkinkan karena adanya
mekanisme ikatan dinamis (dynamic bindung). Ikatan dinamis adalah ikatan yang
terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat
kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu
objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtual
(maya).
Polimorfisme adalah kemampuan untuk memperoleh bentuk. Dua objek atau lebih
dikatakan polimorfis, bila objek-objek itu mempunyai antar muka-antarmuka
identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini memungkinkan kita
menganggap sekelompok objek dengan tipe-tipe berbeda seperti dimiliki oleh
suatu tipe yang sama. Polimorfisme merupakan fitur yang terjadi karena
interaksi setiap konsep pewarisan dan dynamic binding. Contohnya pintu dan
jendela memiliki perilaku yang sama yaitu dapat dibuka dan ditutup, namun untuk
menutup jendela dilakukan misalnya dari atas ke bawah (vetikal), sedangkan
pintu dari depan ke belakang (horizontal).
LISTING
public class StudentInfo{
public static void
main(String[] args){
StudentGrad myStudent = new
StudentGrad();
myStudent.Write(50410727,
1,"Andre","Pramana", 2010,"Gunadarma
Univercity");
myStudent.Display();
}
}
class 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 ID: " + m_ID);
System.out.println("Student name : "+m_First + " "
+ m_Last);
System.out.println("Graduated: " + m_Graduation);
}
private int m_ID,
m_Graduation;
private String m_First;
private String m_Last;
}
class StudentGrad extends Student {
public void Write(int ID,
int Grad, String Fname, String Lname, int yrGrad, String unSch) {
super.Write(ID, Grad,
Fname, Lname);
m_UndergradSchool =
unSch;
m_Grad = Grad;
YearGraduated = yrGrad;
}
public void Display(){
super.Display();
System.out.println("Graduated From: "+ m_UndergradSchool);
System.out.println("Graduation
Year : "+ YearGraduated);
}
private Integer
YearGraduated,m_Grad;
private String
m_UndergradSchool;
private String m_Major;
}
|
Tidak ada komentar:
Posting Komentar