C++ Class Inheritance Static Method

3 min read Jul 01, 2024
C++ Class Inheritance Static Method

Memahami Pewarisan Metode Statis di C++

Pewarisan adalah salah satu konsep penting dalam pemrograman berorientasi objek (OOP) yang memungkinkan kelas baru (kelas turunan) mewarisi atribut dan metode dari kelas yang ada (kelas dasar). Namun, bagaimana dengan metode statis? Apakah metode statis juga diwariskan seperti metode biasa?

Metode Statis dan Pewarisan

Metode statis di C++ adalah metode yang terkait dengan kelas, bukan dengan objek dari kelas tersebut. Hal ini berarti metode statis dapat dipanggil tanpa perlu membuat objek dari kelas tersebut.

Pewarisan metode statis di C++ tidak diwariskan secara langsung. Ini karena metode statis terkait dengan kelas, bukan dengan objek. Ketika kelas turunan mewarisi kelas dasar, hanya data anggota dan metode non-statis yang diwariskan.

Bagaimana Akses Metode Statis pada Kelas Turunan?

Meskipun metode statis tidak diwariskan, Anda masih bisa mengakses metode statis dari kelas dasar melalui kelas turunan. Ini dilakukan dengan menggunakan operator resolusi ruang lingkup (::).

Contoh:

#include 

class Base {
public:
  static void show() {
    std::cout << "Ini adalah metode statis di kelas Base\n";
  }
};

class Derived : public Base {
public:
  // Tidak perlu mewariskan metode statis, tetapi bisa diakses
  static void display() {
    std::cout << "Ini adalah metode statis di kelas Derived\n";
    Base::show(); // Akses metode statis dari kelas Base
  }
};

int main() {
  Derived::display();
  return 0;
}

Output:

Ini adalah metode statis di kelas Derived
Ini adalah metode statis di kelas Base

Kapan Menggunakan Metode Statis di Pewarisan?

  • Membuat fungsi utilitas: Metode statis dapat digunakan sebagai fungsi utilitas yang terkait dengan kelas tertentu, tetapi tidak memerlukan objek dari kelas tersebut.
  • Memberikan akses ke data statis: Jika kelas dasar memiliki data statis, metode statis di kelas turunan dapat digunakan untuk mengakses dan memanipulasi data tersebut.
  • Membuat metode abstrak: Metode statis dapat digunakan untuk mendefinisikan metode abstrak yang harus diimplementasikan oleh kelas turunan.

Kesimpulan

Metode statis di C++ tidak diwariskan secara langsung, tetapi dapat diakses melalui kelas turunan menggunakan operator resolusi ruang lingkup. Pemahaman tentang konsep ini penting untuk menggunakan metode statis secara efektif dalam konteks pewarisan.

Featured Posts