Polymorphism merupakan salah satu pilar dari Pemrograman Berorientasi Object yaitu kemampuan object untuk mempunyai tipe yang sama dengan aksi yang berbeda terhadap pesan yang sama.
Polymorphism dari struktur katanya dapat diartikan “memiliki banyak bentuk”. Dalam arti luasnya adalah suatu object yang dapat memiliki berbagai bentuk, sebagai object dari Class sendiri atau object dari superclass (induk class) nya. Subclass dapat mendefinisikan perilaku yang akan dilakukannya dengan sendiri tanpa harus murni dari superclass.
Dalam Polymorphism ada dua method yang biasa digunakan yaitu :
1. Overloading, dimana beberapa method yang memiliki nama yang sama tetapi beda fungsi. Overloading sendiri memiliki ciri nama method harus sama, daftar parameter harus berbeda dan return type yang boleh sama boleh juga tidak.
CONTOH :
public class Overloading {
public static void
main(String[] args) {
cetak();
cetak(5);
cetak(5, 5);
}
private static void cetak() {
int a = 5, b = 5;
System.out.println((a+b));
}
// method overloading
private static void cetak(int
a) {
int b = 5;
System.out.println((a+b));
}
// method overloading
private static void cetak(int
a, int b) {
System.out.println((a+b));
}
}
public class Overloading {
public static void
main(String[] args) {
cetak();
cetak(5);
cetak(5, 5);
}
private static void cetak() {
int a = 5, b = 5;
System.out.println((a+b));
}
// method overloading
private static void cetak(int
a) {
int b = 5;
System.out.println((a+b));
}
// method overloading
private static void cetak(int
a, int b) {
System.out.println((a+b));
}
}
2. Overriding, menyatakan keadaan dimana method pada subclass menolak method pada superclass-nya. Ciri dari Overriding adalah nama method, daftar parameter, dan return type yang harus sama.
CONTOH :
public class Buku {
private int id;
private String judul;
private String penulis;
public Buku() {
}
// Constructor overloading
public Buku(int id) {
this.id = id;
}
// Constructor overloading
public Buku(String judul) {
this.judul = judul;
}
// Constructor overloading
public Buku(int id, String
judul, String penulis) {
this.id = id;
this.judul = judul;
this.penulis = penulis;
}
Tidak ada komentar:
Posting Komentar