Home » C++ » Polymorphism (Polimorfisme) di C++

Polymorphism (Polimorfisme) di C++

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Polimorfisme

Polimorfisme berarti “banyak bentuk” dan itu terjadi ketika kita memiliki banyak kelas yang terkait satu sama lain melalui pewarisan(Inheritance).

Pewarisan memungkinkan kita mewarisi atribut dan metode dari kelas lain. Polimorfisme menggunakan metode tersebut untuk melakukan tugas yang berbeda. Hal ini memungkinkan kita untuk melakukan satu tindakan dengan cara berbeda.

Misalnya, pikirkan kelas dasar yang disebut Animal yang memiliki metode yang disebut animalSound(). Kelas Hewan yang diturunkan dapat berupa Babi, Kucing, Anjing, Burung. Dan mereka juga memiliki implementasi suara hewan sendiri (suara babi, kucing mengeong, dll.):

Contoh :

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
  }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

Ingat dari untuk melakukan inheritance kita gunakan simbol : untuk mewarisi dari kelas.

Sekarang kita bisa membuat objek Pig and Dog dan mengganti metode animalSound():

Contoh :

#include <iostream>
#include <string>
using namespace std;

// Base class
class Animal {
  public:
    void animalSound() {
      cout << "The animal makes a sound \n" ;
    }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
      cout << "The pig says: wee wee \n" ;
    }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
      cout << "The dog says: bow wow \n" ;
    }
};

int main() {
  Animal myAnimal;
  Pig myPig;
  Dog myDog;

  myAnimal.animalSound();
  myPig.animalSound();
  myDog.animalSound();
  return 0;
}

Output :

Mengapa Dan Kapan Menggunakan “Inheritance” dan “Polymorphism”?

Berguna untuk penggunaan kembali kode: menggunakan kembali atribut dan metode kelas yang ada saat membuat kelas baru.

You may also like