Polymorphisme pada C++

Sebelum memulai pembahasan mengenai polymorphisme, sebaiknya anda mengerti terlebih dahulu mengenai penggunaan pointer dan inheritance, karena kedua hal tersebut merupakan aspek yang sangat penting dalam penggunaan polymorphisme dalam C++. Pointer pada class induk dan class turunannya harus memiliki relasi yang sama baik dalam tipe data maupun fungsi yang ada di dalamnya. Sebagai contoh kita asumsikan terdapat class induk yang dinamakan class B dan class turunan yang dinamakan class D. Beberapa pointer akan mendeklarasikan sebuah pointer pada objek class B, contoh penulisan pointer :

B *p;  //pointer pada objek B
B Objek_B; //Objek_B merupakan objek dari class B
D Objek_D; //Objek_D merupakan objek dari class D

Selanjutnya tuliskan script di bawah ini :
p = & Objek_B //nilai p pada objek B 
p = & Objek_D //nilai p pada objek D 

Konsep polymorphisme merupakan salah satu kelebihan yang dimiliki oleh bahasa pemrograman C++ yang sudah mendukung pada pemrograman berorientasi objek. Adapun pengertian dari polymorphisme merupakan suatu teknik atau cara dengan memberikan satu aksi untuk satu nama yang dipakai bersama pada satu hirarki kelas, yang mana masing-masing kelas hirarki menerapkan cara yang sesuai dengan dirinya. Polimorfisme berasal dari bahasa Yunani, poly (banyak) dan morphos (bentuk). Polimorfisme menggambarkan kemampuan kode C++ berperilaku berbeda tergantung situasi pada waktu running program (program berjalan). objek-objek yang dihasilkan hirarki kelas berupa objek polimorfik. Polimorfik artinya mempunyai banyak bentuk atau punya kemampuan untuk mendefinisi banyak bentuk.

Berikut ini adalah contoh dari polymorphisme class segiempat dan class segitiga yang nilainya dapat di rubah dengan menggunakan pointer : 

#include
using namespace std;

class BangunDatar {
  protected:
    int lebar, panjang;
  public:
    void set_nilai (int l, int p)
      { lebar=l; panjang=p; }
};

class Segiempat: public BangunDatar {
  public:
    int luas()
      { return lebar*panjang; }
};

class Segitiga: public BangunDatar {
  public:
    int luas()
      { return lebar*panjang/2; }
};

int main () {
    int pjg,lbr;
  Segiempat segi4;
  Segitiga segi3;
  BangunDatar * BgnDtr1 = &segi4;
  BangunDatar * BgnDtr2 = &segi3;
  cout<<"Masukan Panjang : ";cin>>pjg;
  cout<<"Masukan Lebar : ";cin>>lbr;
  BgnDtr1->set_nilai (pjg,lbr);
  BgnDtr2->set_nilai (pjg,lbr);
  cout << "Luas Segi empat adalah : "<
  cout << "Luas Segi tiga adalah : "<
  return 0;
}
Polymorphisme pada C++

Masukan alamat email anda untuk mendapatkan artikel terbaru:

0 Response to "Polymorphisme pada C++"

Posting Komentar