Konsep Dasar Pemograman Berorientasi Objek (Object Oriented Programming)
Bagian 2 : Pewarisan dan Polimorfisme
Sebelumnya kita telah mempelajari tentang konsep dasar pemograman berorientasi objek (Object Oriented Programming) tentang sedikit ulasan mengenai pengertian objek, kelas, enkapsulasi, serta pengertian asosiasi dan agregasi, untuk lebih jelasnya, silahkan melihat artikel sebelumnya disini. Di artikel ini kita akan membahas sedikit ulasan tentang pewarisan dan polimorfisme. Langsung saja ke topik pembahasan :
Pewarisan (Inheritance)
Pewarisan mengijinkan kita untuk menspesifikasikan atau mengkhususkan bahwa sebuah kelas bisa memiliki atau mendapatkan beberapa karakteristik dari kelas induknya (parent class) dan menambahkan fitur atau kegunaan khusus atas dirinya sendiri. Kelas anak (subclass) mewariskan (inherits) semua fields, messages, dan methods dari kelas induk utama (superclass). Pewarisan menjadikan kelas dapat di-grupkan atau dikelompokkan ke dalam kelas yang lebih general (umum), oleh sebab itu pewarisan sering disebut juga sebagai bentuk spesialisasi atau generalisasi atas objek.
Dalam perspektif pemograman, kita memerlukan pewarisan karena:
– Pewarisan mendukung perluasan dan kekuatan yang lebih dalam proses pemodelan perangkat lunak.
– Pewarisan mengijinkan kita untuk mendefenisikan informasi atau atribut dan kelakuan (behavior) pada sebuah kelas dan membagikannya (share) kepada kelas anak (subclass) yang berhubungan. Ini berarti kita akan memiliki code yang lebih efisien.dan reuseable.
– Pewarisan merupakan hal yang natural, yang gampang dimengerti dan didefenisikan dalam kehidupan nyata.
Gambar berikut akan mendefenisikan perawisan terhadap Kendaraan Tak Bermotor :
Polimorfisme (Polymorphism)
Polimorfisme diambil dari bahasa Yunani yang diturunkan dari kata poly, yang berarti banyak, dan morph yang berarti bentuk. Maka dari itu polimorfisme berarti ‘memiliki banyak bentuk/rupa’. Dalam kehidupan sehari-hari, antara satu objek dengan objek lainnya sering terjadi komunikasi. Satu objek mengirmkan pesan (message) ke objek lainnya untuk mendapatkan sesuatu yang dinginkan, namun tanggapan dari objek-objek tersebut dapat beragam walaupun pesan yang disampaikan adalah pesan yang sama. Sebagai contoh, seorang ibu memberikan pesan yang sama kepada anak-anaknya, “Sekarang waktunya makan !”. Pesan yang berupa perintah tersebut akan memberi makna yang berbeda pada setiap anak-anaknya, dan setiap anak akan memberikan tanggapan yang berbeda-beda. Seorang anak yang berumur 1 tahun akan duduk diam menunggu ibunya menyiapkan makanan dan menyuapkan makanan tersebut ke dalam mulutnya, sedangkan untuk anak yang berumur 16 tahun akan langsung duduk di meja makan langsung mengambil makanannya sendiri dan memakannya tanpa harus menunggu dan duduk diam berharap ibunya menyuapkan makanan ke dalam mulutnya.
Contoh di atas menggambarkan konsep dari polimorfisme, dimana polimorfisme memiliki arti ‘banyak bentuk/rupa’ yang merujuk pada suatu kemungkinan bahwa pesan yang disampaikan kepada objek-objek yang berbeda, namun pada prinsipnya adalah sama dan mendapatkan tanggapan yang berbeda-beda. Objek yang menerima pesan memiliki tanggung jawab untuk memberikan respon atau tanggapan terhadap pesan yang diterimanya. Dalam pemograman berorientasi objek, polimorfisme memiliki arti dan fungsi yang sama, namun memiliki perilaku yang berbeda pada setiap kelas-kelas yang berbeda.
Pustaka :
O’Docherty, M., 2005, Object-Oriented Analysis and Design: Understanding System Development with UML 2.0, John Wiley & Sons.
L.Sinaga, B., 2005, Pemograman Berorientasi Objek Dengan Java, Gava Media.