Kamis, 19 Februari 2015

Polymorphism

Polymorphism, sebuah istilah Yunani,  kemampuan dari sebuah objek untuk membolehkan mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak sementara “morph” berarti bentuk. Polimorfisme memainkan peran penting dalam memungkinkan benda yang memiliki struktur internal yang berbeda untuk berbagi antarmuka eksternal yang sama.

Polymorphism dalam suatu program Java :

Kemampuan sebuah variabel referensi untuk mengubah behaviour sesuai dengan  contoh objek apa yang dipegang.
Hal ini memungkinkan beberapa objek dari subclass yang berbeda diperlakukan sebagai objek dari kelas super tunggal, sementara secara otomatis memilih metode yang tepat untuk diterapkan pada objek tertentu berdasarkan pada subclass yang dimiliki.
Contoh Polymorphic Behavior dalam program Java

Di Java, kita dapat membuat referensi yang merupakan tipe
super class Person, ke sebuah objek dari subclass nya, siswa

public static main( String[] args ) {

Siswa siswaObject = new Siswa();
Pekerja pekerjaObject = new Pekerja();
Person ref = siswatObject; // Person reference mengarah
             // ke object Siswa
 // Calling getName() diantara contoh object Siswa

Sekarang misalkan kita memiliki metode getName dalam super class Person kita
, dan kita override metode ini baik dalam subclass Siswa dan Pekerja.

public class Student {
public String getName(){
System.out.println(“Nama Siswa:” + name);
return name;
}
}
public class Pekerja {
public String getName(){
System.out.println(“Nama Pekerja:” + name);
return name;
}
}

Kembali ke metode utama kita, ketika kita mencoba untuk memanggil (call) metode getName dari referensi Person ref, metode getName dari object Siswa akan panggil (called).
Sekarang, jika kita tugaskan ref ke objek Pekerja, Metode getName Pekerja akan dipanggil (called).

public static main( String[] args ) {
Siswa siswaObject = new Siswa();
Pekerja pekerjaObject = new Pekerja();
Person ref = siswaObject; //Person ref. mengarah ke
                           // Siswa object
// getName() method class Siswa called
String temp= ref.getName();
System.out.println( temp );

ref = pekerjaObject; //Person ref. mengarah ke
                    // Pekerja object

//getName() metode class pekerja called
String temp = ref.getName();
System.out.println( temp );
}

Sumber: https://semutoop.wordpress.com/2013/01/20/konsep-polymorphism-dalam-object-oriented-programming-java/





Tidak ada komentar:

Posting Komentar