Salah satu dari karakteristik Object Oriented Programming (OOP) adalah Polymorphism. Opo iku Polymorphism? (Apa itu Polymorphism? dengan menggunakan bahasa java… eh jawa)
kayaknya susah banget mengucapkannya,….hehehe…palagi menerangkannya yak.
Tapi gini loh, Polymorphism itu suatu obyek yang memiliki sifat yang sama dengan parent nya atau pada class nya sendiri. Sifat obyeknya ini bisa dalam bentuk yang berbeda-beda, kan poly. Bisa terjadi banyak perubahan sifat pada subclass nya.
Lebih jelasnya nanti deh kalau udah lihat contohnya. Kita lanjutkan dulu ya…

Polymorphism itu sendiri terbagi dua yaitu: Overloading dan Overiding. Duh apa lagi nih istilahnya…hehehe kayaknya kok susah sih. Tapi kali ini kita bahas dulu tentang Overiding aja yak. Yang Overloading akan di bahas sendiri lagi nanti.

Nah Overiding sifatnya menimpa suatu obyek dari class itu sendiri atau subclassnya. Misalnya kita punya class Kendaraan sebagai suatu parent class.

class Kendaraan{
String jenisKendaraan;
int tahunBuat;

//method jenisKendaraan
void jenisKendaraan(String JK){
jenisKendaraan = JK;
System.out.println(“Jenis Kendaraan: “+jenisKendaraan);
}

//method tahunBuat
void tahunBuat(int TB){
tahunBuat = TB;
System.out.println(“Tahun Buat: “+tahunBuat);
}
}

Ini kita buatkan subclass dan di overide method tahunBuatnya dengan contoh berikut ini

public class SepedaMotor extends Kendaraan{
String merkMotor;
int tahunIni;

public void merkMotor(String merkM){
merkMotor = merkM;
System.out.println(“Merk Kendaraan: “+merkMotor);
}

//melakukan overiding
void tahunBuat(int TB){
tahunBuat = TB;
tahunIni = 2008-tahunBuat;
System.out.println(“Sudah “+tahunIni+ ” tahun, sejak motor ini dibuat”);
}
}

Kemudian kita coba jalankan dengan program berikut:

class MotorAksi{
public static void main(String[] args){

//buat object
SepedaMotor motorku = new SepedaMotor();

//panggil method
motorku.jenisKendaraan(“Sepeda Motor”);
motorku.tahunBuat(2005);

}
}

Sudah di coba?
lihat hasilnya bila method tahunBuat di class SepedaMotor di hilangkan.
Jangan lupa di compile lagi class SepedaMotor dan jalankan lagi MotorAksi nya

Kesimpulannya:
method tahunBuat pada class Kendaraan, yang seharusnya akan dituliskan sebagai tahun pembuatannya, ditimpa dengan method tahunBuat pada class SepedaMotor menjadi selisih tahun sekarang (tahun 2008) di kurangi tahun buatnya.

Gitu deh, moga-moga sudah dapat mengerti tentang Polymorphism Overiding. Kalo pingin tahu yang Overloading bisa klik ini

3 Responses to “Konsep OOP – Polymorphism Overiding”

  1. yan says:

    klo bisa kasih penjelasan yang lebih detail ya…………..

  2. arrysulaiman says:

    mas opo iku trimsya…, sy sekarang sedang belajar PHP, tapi agak bingung untuk menerapkan OOP, informasi ini cukup banyak membantu…, klo bisa sih semua tentang OOP dikupas gm?

  3. trimaryanto says:

    maaaakasih banyak mas..
    tapi masih agag bingung antara class extends dan class sendiri..

Leave a Reply