Kamis, 23 Februari 2017

Konsep Polymorphism pada pemrograman Java

Polymorphism


Hai gan, post lagi nih materi tentang konsep OOP (Object oriented programming) . Pada post sebelumnya kita telah membahas tentang konsep inheritance dengan menggunakan bahasa pemrograman java. Kali ini saya memberikan materi konsep OOP lainnya, yaitu konsep polymorphism dengan bahasa pemrograman java. Pertama kita harus mengenal dulu apa yang dimaksud polymorphism itu, yaitu suatu konsep yang sama dapat kemampuan untuk mempunyai beberapa bentuk yang berbeda. Terdapat 2 bentuk dari konsep polymorphism, yaitu overloading dan overriding.

Overloading
Ada beberapa syarat dan aturan pada penggunaan overloading:
  • Dengan overloading agan-agan dapat membuat lebih dari satu method dengan nama yang sama dalam satu kelas. Jadi kita akan lebih mudah untuk mengingat nama method pada program kita tanpa harus mengingat banyak method.
  • Pada method yang menggunakan overloading sebenarnya adalah method-method yang berbeda, hanya saja memiliki nama yang sama.
  • Konstruktor dapat di overloading.
  • Method yang mengoverload boleh merubah acces modifier
  • Suatu Method dapat dioverload di class tersebut atau subclassnya (turunannya)
  • Method yang mengoverload harus merubah argumen list. contohnya jumlah argument yang berbeda, dan jumlah argument sama, akan tetapi urutan-urutan tipe datanya yang berbeda. Untuk lebih jelasnya saya sediakan tabel untuk mempermudah pemahan agan dibawah ini:


Untuk lebih jelasnya implementasi dengan overloading, saya berikan contoh sintaks dasarnya dan uml dari konsep polymorphism dengan menggunakan bahasa pemrograman java:


Contoh UML serta program java polymorphism dan penjelasannya dibawah ini:



Pada contoh program diatas terdapat kelas bernama class overloading. Contoh overloading terdapat pada baris program 3-6 dan 7-10 yang memiliki nama method yang sama akan tetapi parameternya yang berbeda. Pada baris 11-16 yaitu adalah class main(utama) yang didalamnya terdapat proses instasi objek dan pemanggilan method yang telah dibuat.


Overriding
Dengan overriding, kita dapat memiliki pengenal method yang sama persis dengan method yang ada di superclass akan tetapi memiliki beda behavior. Selain itu overriding tidap dapat digunakan untuk konstrukor, karena konstruktor tidak diturunkan ke subclassnya. Seperti Overloading, Overriding juga memiliki syarat sebagai berikut:
  • Method dengan modifier final tidak dapat dioverride
  • Method dengan modifier static tidak dapat dioverride
  • Bila suatu method tidak dapat diturunkan maka method tersebut tidak dapat dioverride. Contoh sebagai berikut:


Sintaks dasar dari overriding:



Untuk lebih mudah dalam memahami program menggunakan overriding, dibawah ini saya memberikan contoh uml dan program sederhana dengan menggunakan java:


Contoh Souce code:

Pada souce code diatas terdapat class bernama overriding. Pada baris 3-8 yaitu class main(utama) yang berisi pembuatan object dan proses memanggil method menggunakan object  yang telah dipuat. Pada baris 11-19 yaitu induk kelas, dimana terdapat method yang memiliki parameter integer. Method ini memiliki nama yang sama dengan yang terdapat pada subclass (anak kelas). Pada baris 19-26 yaitu anak kelas dari kelas satu, dimana memiliki nama method yang sama pada induk kelas akan tetapi memiliki tipe data yang berbeda yaitu double.
Kesimpulan dari konsep polymorphis adalah konsep ini digunakan untuk mempermudah atau mempersedikit nama method yang digunakan untuk membuat program dengan OOP dengan nama yang sama akan tetapi berbeda parameter atau index. Untuk mempermudah memahami overloading dan overriding yaitu dengan melihat perbedaannya, dengan overloading kita bisa membuat method yang sama nama dalam satu kelas, sedangkan overriding yaitu kita bisa membuat method dengan nama yang sama pada kelas turunannya dari kelas induk (superclass).

 Oke gan sekian dulu postingan saya, semoga dapat bermanfaat. Salam lima jari, Byee!!!

Bagikan

Jangan lewatkan

Konsep Polymorphism pada pemrograman Java
4/ 5
Oleh

Subscribe via email

Suka dengan artikel di atas? Tambahkan email Anda untuk berlangganan.