Minggu, 15 April 2012

Inheritance dan Polymorphism



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