OOP Polymorphism
POLYMORPHISM.
Polymorphism dalam konsep Object Oriented Programming adalah kemampuan suatu objek untuk membuat banyak bentuk melalui satu cara yang sama. Banyak bentuk maksudnya bahwa objek yang pada dasarnya sama tapi bertindak/bertingkah laku yang berbeda-beda.
Kemampuan polimorfisme diantaranya :
- Penerapan Polimorfisme pada Overload dan Override (baik melalui inheritance maupun interface)
- Penggunaan Superclass sebagai referensi dari object Subclass
Overload : method/konstruktur yang memiliki nama yang sama namun dengan parameter yang berbeda. Override : proses pendeklarasian ulang nama method pada kelas utama kepada kelas turunannnya. Dalam pembuatan overriding method, nama dan tipe data method harus sama dengan kelas induknya guna pembuatan polymorphism.
Berikut adalah contoh polymorphism di java. Pada super kelas sistem pegawai terdapat method InfoGji() yang akan diimplementasikan berbagai bentuk di sub-subclass nya.
public class Pegawai {
protected String nama;
protected int gaji;
public Pegawai(String nama, int gaji) {
this.nama = nama;
this.gaji = gaji;
}
public int infoGaji(){
return gaji;
}
}
2.Kelas Manajer.java
public class Manajer extends Pegawai{
private int tunjangan;
public Manajer(int tunjangan, String nama, int gaji) {
super(nama, gaji);
this.tunjangan = tunjangan;
}
public int infoGaji (){
return gaji;
}
public int infoTunjangan (){
return tunjangan;
}}
3.Kelas Manajer.java
public class Programer extends Pegawai{
private int bonus;
public Programer(int bonus, String nama, int gaji) {super(nama, gaji);this.bonus = bonus;}public int infoGaji (){return gaji;}public int infoBonus (){return bonus;}}
4.Kelas Bayaran.
public class Bayaran {public int hitungbayaran(Pegawai peg){int uang = peg.infoGaji();if (peg instanceof Manajer)uang += ((Manajer) peg).infoTunjangan();else if (peg instanceof Programer)uang += ((Programer) peg).infoBonus();return uang;}public static void main(String args[]){Manajer man = new Manajer(230000, "ARIF", 14000);Programer prog = new Programer(5660000,"AAN", 340000);Bayaran hr = new Bayaran();System.out.println("Gaji untuk Manajer : " +hr.hitungbayaran(man));System.out.println("Gaji untuk Programmer : " +hr.hitungbayaran(prog));}}
Referensi :
- https://dicoding296190508.wordpress.com/
- http://stikomambon.ac.id/
- http://wimsonevel.blogspot.com/2016/02/konsep-oop-polymorphism.html
- https://www.educba.com/polymorphism-in-java/


Komentar
Posting Komentar