C++ Class Inheritance Override Function

3 min read Jul 01, 2024
C++ Class Inheritance Override Function

Memahami Pewarisan dan Overriding Fungsi dalam C++

Pewarisan (Inheritance) adalah salah satu pilar penting dalam pemrograman berorientasi objek (OOP) yang memungkinkan kita untuk membuat kelas baru (kelas turunan) yang mewarisi properti dan metode dari kelas yang sudah ada (kelas dasar). Overriding fungsi adalah mekanisme yang memungkinkan kelas turunan untuk memberikan implementasi baru untuk fungsi yang telah didefinisikan pada kelas dasarnya.

Keuntungan Menggunakan Pewarisan

  • Kode yang Lebih Ringkas dan Terstruktur: Pewarisan memungkinkan kita untuk menghindari duplikasi kode dengan memanfaatkan kembali kode yang sudah ada pada kelas dasar.
  • Reusabilitas Kode: Kode yang didefinisikan pada kelas dasar dapat digunakan kembali oleh banyak kelas turunan.
  • Polimorfisme: Overriding fungsi memungkinkan objek dari kelas berbeda untuk dipanggil dengan cara yang sama, meskipun implementasinya berbeda.

Contoh Penerapan Overriding Fungsi

#include 

// Kelas dasar
class Hewan {
public:
  void bersuara() {
    std::cout << "Hewan mengeluarkan suara...\n";
  }
};

// Kelas turunan 
class Anjing : public Hewan {
public:
  void bersuara() override {  // Overriding fungsi bersuara()
    std::cout << "Anjing menggonggong!\n";
  }
};

// Kelas turunan
class Kucing : public Hewan {
public:
  void bersuara() override { // Overriding fungsi bersuara()
    std::cout << "Kucing mengeong!\n";
  }
};

int main() {
  Anjing anjing;
  Kucing kucing;

  anjing.bersuara();  // Output: Anjing menggonggong!
  kucing.bersuara();  // Output: Kucing mengeong!

  return 0;
}

Pada contoh di atas:

  • Hewan adalah kelas dasar yang memiliki fungsi bersuara().
  • Anjing dan Kucing adalah kelas turunan dari Hewan.
  • Kedua kelas turunan (Anjing dan Kucing) mengoverride fungsi bersuara() untuk memberikan implementasi yang spesifik.
  • Saat bersuara() dipanggil pada objek anjing dan kucing, fungsi yang dieksekusi adalah implementasi yang didefinisikan pada masing-masing kelas turunan.

Penggunaan Kata Kunci override

Kata kunci override digunakan untuk menandakan bahwa fungsi pada kelas turunan adalah overriding dari fungsi yang didefinisikan pada kelas dasar. Penggunaan override membantu dalam menghindari kesalahan yang tidak disengaja, seperti jika nama fungsi di kelas turunan berbeda dengan nama fungsi pada kelas dasar.

Kesimpulan

Pewarisan dan Overriding fungsi adalah konsep fundamental dalam OOP yang memungkinkan kita untuk membuat kode yang lebih terstruktur, fleksibel, dan mudah dipelihara. Memahami konsep ini sangat penting untuk memaksimalkan kemampuan bahasa pemrograman berorientasi objek seperti C++.

Featured Posts