POLYMORPHISME

           Metode disebut polimorfis jika aksi yang dilakukan oleh suatu metode berbeda-beda tergantung pada objek aktual pada saat metode itu dijalankan. Polimorfisme adalah salah satu fitur utama dalam pemrograman berorientasi objek. Sebagai contoh, sebuah class induk dengan nama Student mempunyai subclass StudentGrad, dan ditambahkan class lain dengan nama StudentInfo.
CONTOH :
              kita membuat tiga object class dengan nama Student, subclass StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang digunakan untuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method Display.
class student {
    private int m_ID, m_Graduation;
    private String m_First;
    private String m_Last;
    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);
    }
}
     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 StudentGrad extends student {
    private int YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
    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);
    }
}
      Class lain yaitu StudentInfo yang digunakan untuk memasukan agumen ke kedua methd pada masing-masing class Student dan StudentGrad.
class StudentInfo {
    public static void main (String args[]){
        StudentGrad myStudent = new StudentGrad();
        myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia University","CS");
        myStudent.Display();
    }
}

RUNNING PROGRAM 

0 komentar:

Posting Komentar