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:



Program kedua:


Kedua program diatas akan dijalankan di program overriding:



Hasilnya akan seperti gambar dibawah ini:



Contoh program Overriding kedua:

Program pertama: (animal)



Program Kedua: (dog)



Kedua program akan dijalankan pada 1 overriding:



Hasil Program:



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 :
  1.  Jumlah parameter
  2. Tipe data dari parameter
  3. Urutan dari tipe data parameter
Contoh Program Overloading:

Program pertama:


Program Kedua:

Hasil program jika dijalankan: 

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)


Program Kedua: (manager)


Kedua program dijalankan pada 1 program bernama Contructor Overloading



Hasil program jika dijalankan: 





Sekian semoga bermanfaat, terima kasih.





Komentar

Postingan populer dari blog ini

Inheritance dan Contoh Programnya

Penjelasan dan Implementasi Class, Object, Instance, Method Pada Jcreator

CONTOH PROGRAM KONSEP OOP