Daftar Isi
Lancang Kuning - Keindahan Polymorphism adalah bahwa kode yang bekerja dengan kelas yang berbeda tidak perlu tahu kelas mana yang digunakan karena mereka semua menggunakan cara yang sama. Analogi dunia nyata untuk Polymorphism adalah sebuah tombol.
Semua orang tahu cara menggunakan tombol: Anda cukup menekannya. Apa yang "dilakukan" tombol, tergantung pada apa yang terhubung dan konteks di mana ia digunakan - tetapi hasilnya tidak mempengaruhi bagaimana itu digunakan. Jika bos Anda memberi tahu Anda untuk menekan tombol, Anda sudah memiliki semua informasi yang diperlukan untuk melakukan tugas itu.
Baca juga : Tempat Wisata di Riau
Dalam dunia pemrograman, Polymorphism digunakan untuk membuat aplikasi lebih modular dan dapat dikembangkan. Alih-alih pernyataan bersyarat berantakan menggambarkan berbagai tindakan, Anda membuat objek dipertukarkan yang Anda pilih berdasarkan kebutuhan Anda. Itulah tujuan dasar Polymorphism.
Apa itu Polymorphism
Dalam bahasa pemrograman yang menunjukkan polymorphism, objek kelas yang termasuk dalam hierarki pohon yang sama (diwarisi dari kelas dasar yang sama) dapat memiliki fungsi dengan nama yang sama, tetapi masing-masing memiliki perilaku yang berbeda.
Sebagai contoh, asumsikan ada kelas dasar bernama Hewan dari mana subkelas Kuda, Ikan dan Burung berasal. Juga asumsikan bahwa kelas Hewan memiliki fungsi bernama Pindah, yang diwarisi oleh semua subclass yang disebutkan. Dengan polymorphism, setiap subclass mungkin memiliki caranya sendiri dalam mengimplementasikan fungsi.
Jadi, misalnya, ketika fungsi Pindah disebut dalam objek kelas Kuda, fungsi tersebut mungkin merespons dengan menampilkan berlari di layar. Di sisi lain, ketika fungsi yang sama dipanggil dalam objek kelas Ikan, berenang mungkin ditampilkan di layar. Dalam kasus objek Burung, mungkin terbang.
Akibatnya, polymorphism memotong pekerjaan pengembang karena ia sekarang dapat membuat semacam kelas umum dengan semua atribut dan perilaku yang ia impikan untuk itu. Ketika tiba saatnya bagi pengembang untuk membuat subclass yang lebih spesifik dengan atribut dan perilaku unik tertentu, pengembang dapat dengan mudah mengubah kode di bagian tertentu di mana perilaku berbeda. Semua bagian lain dari kode dapat dibiarkan apa adanya.
Singkatnya polymorphism adalah konsep pemrograman berorientasi objek yang mengacu pada kemampuan variabel, fungsi atau objek untuk mengambil berbagai bentuk. Bahasa yang menampilkan polymorphism memungkinkan pengembang untuk memprogram secara umum, bukan program secara spesifik.
Baca juga : Pengertian Inheritance
Terdapat 2 jenis polymorphism yakni polymorphism static dan polymorphism dynamic
Polymorphism statis
Java, seperti banyak bahasa pemrograman berorientasi objek lainnya, memungkinkan Anda untuk mengimplementasikan beberapa metode dalam kelas yang sama yang menggunakan nama yang sama tetapi serangkaian parameter yang berbeda. Itu disebut metode overloading dan mewakili bentuk statis Polymorphism.
Set parameter harus berbeda setidaknya dalam satu dari tiga kriteria berikut:
- Mereka harus memiliki jumlah parameter yang berbeda, mis. satu metode menerima 2 dan satu lagi 3 parameter.
- Jenis-jenis parameter harus berbeda, mis. satu metode menerima sebuah String dan satu lagi Long.
- Mereka perlu mengharapkan parameter dalam urutan yang berbeda, mis. satu metode menerima String dan Long dan metode lain menerima Long dan String. Overloading semacam ini tidak direkomendasikan karena membuat API sulit untuk dipahami.
Dalam kebanyakan kasus, masing-masing metode kelebihan menyediakan fungsi yang berbeda tetapi sangat mirip.
Karena set parameter yang berbeda, masing-masing metode memiliki tanda tangan yang berbeda. Itu memungkinkan kompiler untuk mengidentifikasi metode mana yang harus dipanggil dan mengikatnya ke pemanggilan metode. Pendekatan ini disebut pengikat statis atau Polymorphism statis.
Baca juga : Tempat Wisata di Pekanbaru
Polymorphism dinamis
Bentuk Polymorphism ini tidak memungkinkan kompiler menentukan metode yang dieksekusi. JVM perlu melakukannya saat runtime. Di dalam hierarki warisan, subclass dapat mengganti metode superclass-nya. Itu memungkinkan pengembang subclass untuk menyesuaikan atau mengganti sepenuhnya perilaku metode itu.
Ini juga menciptakan bentuk Polymorphism. Kedua metode, diimplementasikan oleh super dan subclass, berbagi nama dan parameter yang sama tetapi menyediakan fungsionalitas yang berbeda.
Keuntungan dari Polymorphism
Polymorphism menawarkan keuntungan-keuntungan berikut -
- Ini membantu programmer untuk menggunakan kembali kode, mis., Kelas yang pernah ditulis, diuji dan diimplementasikan dapat digunakan kembali sesuai kebutuhan. Menghemat banyak waktu.
- Variabel tunggal dapat digunakan untuk menyimpan beberapa tipe data.
- Mudah untuk debug kode.(Egdaf)
Komentar