Thursday, June 12, 2008

POLIMORFISME

,
Polymorphism atau Polimorfisme - dari namanya dapat diartikan : poli = banyak, morph=bentuk. Yup, memang arti polimorfisme pada Java mendekati hal itu, tepatnya satu metode yang mempunyai banyak bentuk, tergantung Objek yang dimasukkan dalam parameter. Ini contohnya: Misal, pertama saya punya kelas bernama Mobil, seperti di bawah ini:

[sourcecode language='java']
package polymorph;

public class Mobil
{
String merk()
{
return "Mobil tanpa merk";
}

}[/sourcecode]

Saya juga punya kelas Suzuki dan Toyota yang diextends dari kelas Mobil:

[sourcecode language='java']
package polymorph;

public class Suzuki extends Mobil
{
@Override
String merk()
{
return "Saya naik mobil Suzuki";
}

}

package polymorph;

public class Toyota extends Mobil
{
@Override
String merk()
{
return "Saya naik mobil Toyota";
}

}[/sourcecode]

Lalu saya punya kelas Pengendara yang ceritanya akan naik mobil:

[sourcecode language='java']
package polymorph;

public class Pengendara
{
private Mobil mobil=new Mobil();

public void merkMobil()
{
System.out.println(mobil.merk());
}

public void setMobil(Mobil b)
{
this.mobil=b;
}

public Mobil getMobil()
{
return mobil;
}
}[/sourcecode]

Terakhir, saya punya kelas Tester yang akan mengimplementasikan polimorfisme :

[sourcecode language='java']
package polymorph;

public class Tester
{
public static void main(String[] args)
{
Pengendara budi=new Pengendara();
Suzuki suzuki = new Suzuki();
Toyota toyota = new Toyota();
budi.setMobil(suzuki); //menyuruh budi naik mobil
budi.merkMobil(); //menyuruh budi menyebut merk mobil
}

}[/sourcecode]

Pada contoh kelas Tester di atas, saya suruh si budi naik mobil suzuki. Setelah itu budi saya suruh sebut merknya. Output dari kelas Tester di atas adalah Saya naik mobil Suzuki. Tetapi jika saya ubah statement

[sourcecode language='java']budi.setMobil(suzuki);[/sourcecode]

menjadi

[sourcecode language='java']budi.setMobil(toyota);[/sourcecode]

maka hasil outputnya adalah Saya naik mobil Toyota. Jadi dapat dilihat sendiri bahwa Anda hanya menjalankan satu buah method saja yaitu

[sourcecode language='java']budi.merkMobil();[/sourcecode]

tetapi dapat menghasilkan sesuatu yang berbeda tergantung objek yang diberikan. Itulah polimorfisme. Oke.. Semoga artikel ini membantu Anda dalam memahami polimorfisme.

0 comments to “POLIMORFISME”

Post a Comment