Polymorphisme dan Jenis - Jenisnya
Pengertian Polymorphisme
Merupakan salah satu konsep penting dalam object oriented programming (OOP) khususnya di bahasa
pemrograman Java setelah abstraction dan inheritance.
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.
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.
Jenis - Jenis Polymorphisme
A . Overriding
Overriding merupakan method parrent class
yang ditulis kembali oleh subclass.
Aturan dari method overriding pada
Java:
- Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter yang terdapat pada parent class.
- Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class.
Contoh Program Overriding:
Program pertama:
Kedua program diatas akan dijalankan di program overriding:
Hasilnya akan seperti gambar dibawah ini:
Contoh program Overriding kedua:
Program pertama: (animal)
Program Kedua: (dog)
Program pertama:
Program kedua:
Kedua program diatas akan dijalankan di program overriding:
Contoh program Overriding kedua:
Program pertama: (animal)
Program Kedua: (dog)
B. Overloading
Adalah sebuah kemampuan yang
membolehkan sebuah class
mempunyai 2 atau lebih method
dengan nama yang sama, yang
membedakan adalah parameternya.
Method Overloading juga dikenal
dengan sebutan Static
Polymorphism. Pada method overloading perbedaan
parameter mencakup :
- Jumlah parameter
- Tipe data dari parameter
- Urutan dari tipe data parameter
C. Constuctor Overloading
Adalah sebuah kemampuan yang membolehkan sebuah class
mempunyai 2 atau lebih method constructor dengan nama yang
sama, yang membedakan adalah parameternya.
Pada constructor overloading perbedaan parameter sama dengan
yang dimiliki method overloading.
Contoh Program Constuctor Overloading :
Program pertama : (employee)
Kedua program dijalankan pada 1 program bernama Contructor Overloading
Program pertama : (employee)
Program Kedua: (manager)
Kedua program dijalankan pada 1 program bernama Contructor Overloading
Hasil program jika dijalankan:
Sekian semoga bermanfaat, terima kasih.
Komentar
Posting Komentar