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
Post a Comment