Uraian Materi Kegiatan Belajar 16 :Polimorphisme a. Tujuan Pembelajaran
PEMROGRAMAN BERORIENTASI OBJEK
171 | P a g e
Listing Program Nama file : Polimorphism.java
Contoh penerapan konsep polimorphism public class Polimorphism {
public static void mainString[ ] args { cetakObjeknew Balok;
cetakObjeknew PersegiPanjang; cetakObjeknew BangunDatar;
cetakObjeknew Object; }
public static void cetakObjekObject objek { System.out.printlnobjek;
} } Akhir kelas Polimorphism
class Balok extends PersegiPanjang { public String toString {
return Mempunyai sisi panjang, lebar dan tinggi;
} }
class PersegiPanjang extends BangunDatar { public String toString {
return Mempunyai sisi panjang dan lebar; }
} class BangunDatar extends Object {
public String toString { return Mempunyai berbagai bentuk;
} }
PEMROGRAMAN BERORIENTASI OBJEK
172 | P a g e
Baris nomor 14 -16 adalah deklarasi metoda cetakObjek yang mempunyai satu parameter dengan tipe kelas Object. Kelas Object merupakan akar dari
semua kelas di Java. Langsung maupun tidak langsung, semua kelas di Java merupakan turunan dari kelas Object. Anda dapat memanggil atau
menggunakan metoda cetakObjek dengan argumen berupa obyek yang dibuat dari kelas turunan superclass Object.
Ketika metoda cetakObjek dipanggil baris nomor 8 – 11, argumen obyek
akan diminta. obyek sebagai argumen metoda dapat berupa obyek yang merupakan kelas turunan dari kelas Object yaitu kelas BangunDatar, kelas
PersegiPanjang maupun kelas Balok. Masing-masing kelas turunan mendeklarasikan ulang metoda toString yang mempunyai implementasi
berbeda. Java Virtual Machine JVM akan menentukan secara dinamis implementasi metode toString yang akan digunakan saat program dijalankan.
Kemampuan menentukan secara dinamis ini disebut dengan dynamic binding.
Dari gambaran program di atas, apabila parameter sebuah metoda adalah tipe superclass, maka argumen metoda yang diberikan dapat berupa tipe dari
subclassnya. Kemampuan
seperti inilah
yang dimaksud
dengan polymorphism. Dari gambaran tersebut, dapat didefinisikan kembali bahwa
polymorphism adalah kemampuan untuk menghasilkan sesuatu yang berbeda dengan cara yang sama. Pemberian obyek dari subclass ke obyek
dari superclass dapat dilakukan tanpa perlu melakukan konversi.