Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk
merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya
melatih lumba-lumba saya dengan perintah untuk meloncat dan juga saya melatih
burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk
merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu
bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.
Dengan cara dan kemampuan seperti ini, jenis akses tertentu dapat
diterapakan dengan berbagai cara oleh objek-objek yang memiliki tipe yang berbeda
atau memiliki banyak bentuk. Fungsi virtual merupakan dasar dari polymorphism
yang berkerja hanya dengan pointer-pointer dan referensi dan hanya
mendeklarasikan method sebagai virtual.
Adapun aturan dari virtual function sebagai berikut:
1. Virtual function harus anggota class.
2. Anggota class bukan anggota yang bersifat statis.
3. Anggota class dapat diakses dengan pointer objek.
4. Virtual function tidak dapat memiliki virtual constructor, akan tetapi dapat
berupa virtual destructor.
Contoh-7 //Penggunaan Polymorphism
#include <iostream.h>
#include <conio.h>
class HewanPeliharaan
{
public:
void lucu()
{
cout<<" Lucunya hewan peliharaan"<<endl;
}
virtual void makan()// anggota class
{
cout<<" Makan... dibutuhkan hewan peliharaan"<<endl;
}
};
class Jinak : public HewanPeliharaan
{
public:
void lucu()
{
cout<<" Lucu dan Jinak"<<endl;
}
virtual void makan()
{
cout<<" Diberi makan agar jinak"<<endl;
}
};
class Kucing : public Jinak
{
public:
void lucu()
{
cout<<" Lucunya kucing"<<endl;
}
virtual void makan()
{
cout<<" Makanan dibutuhkan Kucing"<<endl;
}
};
void main()
{
//definisi Objek Jinak dan Kucing puma
Jinak jinak;
Kucing puma;
//definisi pointer ke objek
HewanPeliharaan *hewan;
hewan=&jinak;
hewan->lucu();
hewan->makan();
cout<<" -----------------------------"<<endl;
hewan = &puma;
hewan->lucu();
hewan->makan();
getch();
}
Output yang dihasilkan dari program contoh-7 di atas adalah:
Kamis, 12 Januari 2012
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar