Bab 3
Polimorphisme Overloading
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk.
Polymorphism, suatu aksi yang memungkinkan pemrogram
menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek
yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai
dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita
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 trivial merupakan, function overloading
(penggunaan kembali
nama fungi yang sama tapi dgn 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 tambah(float d, float c);
2 . Dynamic atau true, Merupakan 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() {;}
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.
Overloading Merupakan Suatu Function yang memiliki parameter , dan
function tersebut dapat memiliki nama function yang sama dengan yang
lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah
program dapat mempunyai nama sama tetapi berbeda jenis parameter
dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :
- Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
- Nilai Yang Di Return Harus memiliki Tipe yang sama
- Overload merupakan pendefinisian ulang suatu metode dalam class yang
sama. Syarat overload yaitu nama metode dan tipe parameter harus berbeda
dalam class yang sama.