Pada Pemrograman Berbasis Objek ada beberapa konsep yang harus dipahami yaitu
abstraksi, enkapsulasi, inheritance
dan polymorphism .
Pada kali ini saya hanya akan membahas inheritance
dan polymorphism.
1. Inheritance (pewarisan)
Pengertian Inheritance (pewarisan) adalah
turunan yang diterapkan pada sebuah class.
Misalkan saja contohnya pada mobil. Mobil mempunyai atribut dan method yang
umum dibandingkan truk, sedan atau bus. Mobil sebagai kelas yang mewarisi atau disebut
dengan super class. Truk, sedan, atau
bus adalah turunannya yang disebut sub
class yaitu kelas yang diwarisi. Artinya class yang mengandung member yang
sama dinamakan superclass dan class
yang diturunkan dinamakan subclass.
Jadi jika kita sudah membuat class, tidak perlu membuat class lagi, hanya
menambahkan fungsi/method yang dibutuhkan saja. Dan tentu kita tidak perlu
bersusah-susah menulis ulang semua syntax-nya.
2. Polymorphism (banyak macam)
Pengertian Polymorphism adalah kemampuan dari suatu obyek untuk mempunyai lebih dari
satu bentuk dengan perilaku yang berbeda.
Atau dalam pengertian lain adalah kita dapat menerapkan sesuatu hal yang
berbeda melalui suatu cara yang sama. Misalkan, di dalam sebuah rumah terdapat
4 orang. Ibu, ayah, kakak, dan adik. Kita minta untuk melakukan sesuatu, ibu
sedang menyapu, ayah sedang memperbaiki mobil, kakak sedang membereskan kamar
dan adik sedang bermain. Jadi method yang sama mungkin bisa diterapkan secara
lain jika objek yang menerapkan adalah berlainan. Pada inheritance ada 2 macam
yaitu overriding dan overloading. Overriding adalah menulis kembali fungsi yang
sudah ada pada superclass dengan menghasilkan hasil yang berbeda. Overloading adalah
mengijinkan superclass mempunyai method dengan nama yang sama tetapi penulisan
parameter yang berbeda yaitu tipe data dan jumlah parameternya.
Perbedaan overriding dan overloading yaitu
terdapat penulisan parameter yaitu pada overriding harus sama sedangkan
parameternya harus beda pada overloading. Pada overriding terdapat di
subclassnya sedangkan overloading pada class yang sama.
Tidak ada komentar:
Posting Komentar