Assalamualaikum Warahmatullahi Wabarokatuh.
Hallo teman-teman!
Selamat datang kembali di blog Buku Kuliah Ra. Semoga temen-temen tidak bosan untuk mengunjungi blog ini. Dan semoga saya tetap istiqomah untuk berbagi sedikit hal yang saya ketahui.
Kali ini, saya akan membahas tentang Polimorfisme. Apa yang dimaksud Polimorfisme? Khususnya dalam pemrograman Java? Sebentar lagi akan saya jelaskan dengan singkat dan jelas. Mungkin untuk beberapa pembahasan saat ini masih difokuskan pada java dulu ya, semoga kedepannya semakin banyak ilmu lain yang saya dapat dan bisa dishare di sini.
Oke, langsung saja ke pembahasannya.
A. Pengertian Polimorfisme
Polimorfisme (Polymorphism) adalah salah satu konsep penting dalam object oriented programming (OOP) di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk.
Sumber : Materi kuliah - Petani Kode |
Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metode dengan nama sama. Penggunaan metode dengan nama sama dapat melalui method overloading dan juga method overriding. Nah untuk metode overloading dan overriding akan dijelaskan lebih detail sebagai berikut. Pertama, Polimorfisme terdiri dari 2 jenis, yaitu Polimorfisme Statis dan Polimorfisme Dinamis. Nah, kedua method tadi mewakili setiap jenis polimorfisme. Singkatnya adalah sebagai berikut :
B. Jenis Polimorfisme (Polymorphism)
1. Static Polymorphism (Polimorfisme statis)
Plomorfisme jenis Statis, menggunakan method overloading didalamnya. Overloading method merupakan salah satu feature dalam bahasa pemrograman java, dimana dua buah method bisa dideklarasikan dengan nama yang sama dalam satu class, asal parameter yang digunakan berbeda, baik dari jumlahnya, tipe datanya, atau urutan dari parameternya. Jadi, bisa kita simpulkan bahwa : Method overloading yang digunakan pada polimorfisme statis, ditandai dengan adanya dua atau lebih method yang memiliki nama yang sama didalam satu class java, namun yang membedakan adalah tipe datanya, parameter, atau lainnya.
Keterangan : Pada program diatas, terdapat 2 buah method yang sama dalam satu class Lingkaran yaitu method luas. Namun, kedua method tersebut memiliki tipe data yang berbeda (float dan double), parameter, dan penghitungan yang berbeda. Inilah yang disebut method Overloading.
2. Dynamic Polymorphism (Polimorfisme dinamis)
Berbeda dengan sebelumnya, Plomorfisme Dinamis menggunakan method overriding didalamnya. Overriding method merupakan suatu keadaan dimana kelas anak dapat mengubah atau memodifikasi atau memperluas data dan method pada kelas induk. Dengan kata lain, method overriding merupakan penerapan dimana beberapa method pada parrent class ditulis kembali oleh subclass. Jadi dapat dikatakan bahwa pada polimorfisme dinamis, terjadi penurunan sifat atau disebut Inheritance. Karena menerapkan inheritance, maka class turunan harus menggunakan keyword “Extends” agar dapat menurunkan sifat atau method dari class induk ke class turunan. Keuntungan method Overriding adalah dapat menambahkan sifat / atribut pada kelas induk nya.
Perhatikan diagram berikut ini.
Dari diagram diatas dapat kita simpulkan bahwa :
a. Class anak akan memiliki nama method yang sama, tapi nanti isi dan parameternya bisa berbeda dari class induk
b. Hal itu terjadi karena class anak melakukan method overriding terhadap class induk sehingga mewarisi sifat atau methodnya.
Contoh penerapan polimorfisme dinamis
Program class induk BangunDatar.java
Program class turunan Persegi .java
Program class turunan Lingkaran .java
Program Main.java
Keterangan :
a. Pewarisan / Inheritance ditandai dengan adanya keyword "Extends" pada class turunan.
b. Method override pada java juga dapat diberi tanda @Override.
Tampilan output.
Nah, bagaimana temen-temen? semoga penjelasan singkat diatas dapat dipahami ya.
Mohon maaf jika penjelasannya kurang detail atau banyak kekurangan, disini saya hanya ingin berbagi bukan menggurui. Terima kasih.
Silahkan tulis saran atau masukan melalui kolom komentar.
Semoga bermanfaat!
Tidak ada komentar:
Posting Komentar