PEMROGRAMAN BERORIENTASI OBJEK
170 | P a g e
14. Kegiatan Belajar 16 :Polimorphisme a. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 16 siswa diharapkan dapat : 1 Memahami konsep polimorfisme
2 Menyajikan overloading dan overriding dalam class
b. Uraian Materi
1 Metode Overloading Polymorphism merupakan salah satu konsep penting dalam object oriented
programming OOP khusunya di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk. Ada beberapa definisi
berbeda tentang polymorphism yang berkaitan dengan pemrograman berorientasi obyek. Sedangkan apa yang dimaksud dengan polymorphism
sendiri, sebenarnya sulit untuk didefinisikan. Sejalan dengan contoh yang diberikan, Anda diharapkan dapat mengerti dan memahami konsep
polymorphism itu sendiri. Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metoda
dengan nama sama. Penggunaan metoda dengan nama sama dapat diterapkan dengan method overloading dan method overriding. Peran
polymorphism sebenarnya tidak terbatas hanya pada hal tersebut. Ada keterkaitan antara polymorphism dan inheritance turunan.
Dalam konsep turunan, saat obyek dari subclass dikonstruksi, obyek dari superclass juga ikut dikonstruksi. Jadi setiap instance dari subclass adalah
juga instance dari superclass. Apabila Anda mendeklarasikan metoda dengan parameter dari tipe superclass, Anda diperbolehkan untuk memberi
argumen berupa obyek subclass yang merupakan turunan dari superclass tersebut.
Berikut ini adalah contoh program yang dapat memberikan gambaran berkaitan dengan konsep polymorphism. Perlu dipahami dan dimengerti
bahwa kelas Object merupakan akar dari semua kelas Java dan menduduki puncak tertinggi dalam hirarkhi. Program akan mendefinisikan kelas yang
berkaitan dengan bidang datar secara sederhana termasuk beberapa kelas turunannya kelas PersegiPanjang dan Balok dan membatasi hanya pada
penerapan method overriding.
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;
} }