23 Des 2009

Polymorphism


Polymorphism yang berarti “mempunyai banyak bentuk” juga merupakan salah satu sifat class yang memungkinkan sebuah method mempunyai nama yang sama, namun memiliki aksi yang berbeda.




Perbedaan Trivial dan True Polymorphism



Overloading

3 signature yang perlu diperhatikan dalam melakukan overloading :
  • Jumlah argument
  • Letak argument
  • Type argument


Contoh function overloading
Void hitung (int x, int y);
Void hitung(float x, float y);

Overriding

ada 2 jenis virtual method dalam overriding, yaitu :

Pure Virtual Method (tanpa function body)
contoh : virtual void suara() = 0;

Squasi Virtual Method (ada function body)
contoh : virtual void info() {;} 

contoh coding

#include "iostream.h"

class Hewan
{
    public :
       void info()
      {
          cout << "info() class Hewan" << endl;
      }

      virtual void suara()
      {
          cout << "suara() class Hewan" << endl;
      }
};

class Piaraan : public Hewan
{
    public :
    void info()
   {
       cout << "info() class Piaraan" << endl;
   }

   void suara()
   {
       cout << "suara() class Piaraan" << endl;
   }
};

void main()
{
    Piaraan pet;

   Hewan *satu;

   satu = &pet;    //menunjuk ke objek pet

   satu->info();
   satu->suara();

   cin.get();
}



hasil eksekusi





Penjelasan










0 komentar:

Posting Komentar