Sabtu, 19 November 2011

Polymorphism Overriding

Sekarang kita bedah Overriding. Berbeda dengan overloading ( nama sama … parameter berbeda ). Pada  Overriding, deklarasi method pada subclass itu sama dengan superclassnya baik untuk nama dan parameternya.  Jika dipandang dari sisi arti , maka Overriding berarti mengganti. Nah sekarang …. apa yang diganti ???    Yang diganti adalah method yang dimiliki oleh superclass yang dilakukan oleh subclass. Semakin bingung kan ????

Memang kalau hanya baca dari pengertiannya saja kita bingung … lebih bagus kalau kita lihat contoh codingnya …. agar kita mudeng ( kalau orang jawa bilang begitu ) hehehehehe. Coba lihat contoh overriding dibawah ini :
class Karyawan
{
String Nama;
int Gaji;
String Kota;
void detailKaryawan()
{
System.out.println(“Nama =” + Nama);
System.out.println(“Gaji =” + Gaji);
System.out.println(“Kota =” + Kota);
}
}
class Manager extends Karyawan
{
String Manager;
void detailKaryawan()
{
System.out.println(“Nama =” + Nama);
System.out.println(“Gaji =” + Gaji);
System.out.println(“Kota =” + Kota);
System.out.println(“Manager =” + Manager);
}
}
class ManagerBeraksi
{
public static void main(String[] args)
{
Manager manager = new Manager();
manager.Nama    = “Hermawan”;
manager.Gaji    = 10000000;
manager.Kota    = “Jakarta”;
manager.Manager = “IT Manager”;
manager.detailKaryawan();
}
}
Perhatikan class Karyawan dan class Manager. Kedua class tersebut sama sama memiliki method detailKaryawan(). Method detailKaryawan() sebenarnya milik dari class Karyawan tetapi oleh class Manager ( yang merupakan ” Turunan” dari class Karyawan ), method tersebut di Override dengan nama dan parameter yang sama. Maka ketika class ManagerBeraksi dijalankan, method yang digunakan adalah method detailKaryawan milik class Manager.  Nah kalau dari contoh diatas, baru kita mulai mengerti sebenarnya apa sih yang disebut dengan Overriding.

sumber: http://roymubarak.wordpress.com/2008/12/11/konsep-oop-polymorphism-overriding/

Tidak ada komentar:

Posting Komentar