Pembahasan Polymorphism Pada Java

 


Kali ini kita akan membahas konsep pemograman dari materi OOP atau Object Oriented Programming. Yang mana kita akan menerapkan konsep ini pada bahasa pemograman Java

Ada beberapa konsep pada OOP yang biasa diterapkan pada beberapa bahasa pemograman entah Javascript, Php, Kotlin, Python, dsb. Yaitu, 

  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation

Namun postingan ini akan fokus membahas tentang konsep Polymorphism

Konsep Polymorphism

Polymorphism sesuai namanya artinya ia sesuatu yang bisa berubah ubah bentuk. Namun dalam class artinya sebuah class tertentu bisa kita ubah semau kita, apabila terdapat field, property, atau method yang sudah ada sebelumnya pada parent class, kita bisa mengubah meng-override-nya saja

Lalu kita pun akhirnya bisa meng-inisiasikannya menjadi object pada class yang kita inginkan

Langkah Langkah

Buat struktur OOP Inheritance biasa. Kalian bisa melihat kode-nya dibawah ini

Ingat Inheritance terdiri dari Parent Class dan Child Class. Yang mana Child Class extends terhadap Parent Class. Pastikan kita juga sudah menambahkan constructor di dalamnya

Saya akan membuat sebuah class bernama Employee


Berikan juga method di dalamnya bernama sayHello

Lalu buat Child Class dengan method baru dan ia meng-override constructor parent classnya

  • Override, artinya kita menggunakan kembali method yang ada di parent class. Sehingga kita tak perlu menuliskannya berulang kali
  • Constructor adalah sebuah method dimana ia memberikan kemampuan class menerima parameter dengan berbagai tipe data
Child class ini akan saya beri nama Manager

Lalu buat lagi child class yang extend kepada class Manager, class ini akan saya beri nama Vice President

Mengapa Kita Membutuhkan Polymorphism?

Setiap kita ingin membuat class terkadang ada beberapa method, parameter yang sudah tertulis pada parent classnya, tanpa kita harus membuat class baru kita cukup meng-override saja method yang dibutuhkan seumpama kita membutuhkan method lain kita tuliskan method tersebut pada child class-nya

Kita bisa meng-inisiasikan child class maupun parent class semau kita. Tentu dengan memberikan parameter yang dibutuhkan sebagai constructornya

Ini sangat berbeda dengan konsep Abstraction atau Interface dimana kita tak bisa menginisiasikan class yang diturunkan. Adapun penjelasan seputar Perbedaan Abstraction dan Interface akan saya jelaskan lebih mendalam pada postingan yang akan datang :)

Menjalankan Program

Untuk menjalankan program, buat class baru dengan nama PolymorphismApp.java dan masukkan kode berikut
Ingat!, setiap function yang dijalankan harus berada pada class main. Kalian bisa menuliskannya secara otomatis dengan snipper, psvm atau main


Comments

Video Baru!