Polymorphism Abstract Class dan Interface.

Polymorphism

Polymorphism merupakan suatu aksi yang memungkinkan pemogram menyampaikan suatu pesan tertentu keluar dari hierarki obyeknya, dimana suatu obyek tersebut yang berbeda memberikan tanggapan ataupun respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek. Itu berarti, Polymorphism “mempunyai banyak bentuk” yang juga merupakan salah satu sifat class yang memungkinkan sebuah method mempunyai nama yang sama, namun memiliki aksi yang berbeda.
Polymorphism adalah pemikiran bahwa objek dinamis suatu class dasar dapat berperilaku seperti class turunan. Jika objek menunjuk class dasar maka ia perilaku seperti class dasar, dan jika ia menunjuk class turunan ia akan berperilaku seperti class turunan.

Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.
Keuntungan Pemograman dengan menggunakan Polymorphism adalah :

  • Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.
  • kita dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak memberikan implementasidari metode-metode yang ada.Hal ini berguna jika kita ingin membuat semacam template kelas,kelas semacam ini disebut kelas abstrak karena behaviournya masih abstrak dan belum diimplementasikan.subkelas-subkelas dari kelas semacam ini yang disebut kelas konkret,mengimplementasikan behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.
  • Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya, namun tetap bisa menambahkan attribute dan atau method unik dari class itu sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Abstract Class

Misalnya  kita  ingin  membuat  superclass  yang  mempunyai  method  tertentu  yang  berisi implementasi, dan juga beberapa method yang akan di-overridden oleh subclasses nya.

Sebagai contoh, kita akan membuat superclass bernama LivingThing. class ini mempunyai method tertentu seperti breath, eat, sleep, dan walk. Akan tetapi, ada beberapa method di dalam superclass yang sifatnya tidak dapat digeneralisasi. Kita ambil contoh, method walk.

Tidak  semua  kehidupan  berjalan(walk)  dalam  cara  yang  sama.  Ambil  manusia  sebagai misal,  kita  manusia  berjalan  dengan  dua  kaki,  dimana  kehidupan  lainnya  seperti  anjing berjalan  dengan  empat  kaki.  Akan  tetapi,  beberapa  ciri  umum  dalam  kehidupan  sudah biasa, itulah kenapa kita inginkan membuat superclass umum dalam hal ini.

ScreenHunter_198 Feb. 22 15.28

Kita  dapat  membuat  superclass yang  mempunyai  beberapa method  dengan  implementasi sedangkan yang lain tidak. Class jenis ini yang disebut dengan class abstract. Sebuah class abstract  adalah  class  yang  tidak  dapat di-instantiate.  Seringkali  muncul  di atas hirarki class pemrograman berbasis object, dan mendefinisikan keseluruhan aksi yang mungkin pada object dari seluruh subclasses dalam class. Method  ini  dalam  class  abstract  yang  tidak  mempunyai  implementasi  dinamakan  method abstract. Untuk membuat method abstract, tinggal menulis deklarasi method tanpa tubuh class dan digunakan menggunakan kata kunci abstract. Contohnya,

public abstract void someMethod();

Interface

Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant ). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh.Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class,  untuk  mengimplementasikan  sifat-sifat  yang  umum.  Dengan  catatan  bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method  interface  dan  versi yang tepat  dari method  yang  akan  dieksekusi  tergantung  dari tipe object yang melewati pemanggil method interface.

referensi:

https://slideplayer.info/slide/11923581/

Komentar

Postingan populer dari blog ini

Bootstrap: Pengertian, Kegunaan, Kelebihan, dan Kekurangannya

UML - STATEMACHINE DIAGRAM : PENGERTIAN SIMBOL DAN CONTOHNYA

UML - ACTIVITY DIAGRAM