People Innovation Excellence

Polymorphism

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.

Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen. Pada bahasa lain (khususnya C++), konsep ini sering disebut dengan method overloading. Pada dasarnya, Python tidak menangani hal ini secara khusus. Hal ini disebabkan karena Python merupakan suatu bahasa pemrograman yang bersifat dynamic typing yaitu tidak memerlukan deklarasi tipe.

Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class sendiri atau object dari superclassnya.

  • Overloading: Penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
  • Overriding: terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya.

Keuntungan pemograman dengan menggunakan Polymorphism, yaitu :

  • 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.
  • Dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak memberikan implementasidari metode-metode yang ada.Hal ini berguna jika ingin membuat template kelas, kelas ini disebut kelas abstrak karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas ini yang disebut kelas konkret, mengimplementasikan behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.
  • Menghindari duplikasi object, yang 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.

Polymorphism dapat berarti banyak bentuk, maksudnya yaitu dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

Pada dasarnya ada 2 tipe polymorphism, yaitu :

  1. Static atau trivialmerupakan, function overloading (penggunaan kembali nama fungi yang sama tapi dengan argumen yang berbeda) yang terbagi dalam 3 signature yaitu :
  • Jenis Array
  • Letak Array
  • Type Array

Contoh function overloading :

Void tambah (int a, int b);

Void tambag (float d, float c);

  1. Dynamic atau trueMerupakan function overriding (sebuah fungsi dalam class turunan yang memiliki nama, return type argumen function yang sama dengan fungsi dalam class induk). Menggunakan virtual method.

Pure virtual method (tanpa function body)

Contoh : virtual void jalan() = 0;

Squasi virtual method (ada function body)

Contoh : virtual void info() {;}


Published at :
Written By
Evaristus Didik
Concentration & Content Coordinator | School of Information Systems http://sis.binus.ac.id/
Leave Your Footprint

    Periksa Browser Anda

    Check Your Browser

    Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

    Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

    Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

    Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

    We're Moving Forward.

    This Site Is No Longer Supporting Out-of Date Browser.

    If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

    Best viewed with one of these browser instead. It is totally free.

    1. Google Chrome
    2. Mozilla Firefox
    3. Opera
    4. Internet Explorer 9
    Close