Enkapsulasi C++


Enkapsulasi

Arti Encapsulation , adalah untuk memastikan bahwa data "sensitif" disembunyikan dari pengguna. Untuk mencapai ini, Anda harus mendeklarasikan variabel/atribut kelas sebagai private(tidak dapat diakses dari luar kelas). Jika Anda ingin orang lain membaca atau mengubah nilai anggota pribadi, Anda dapat menyediakan metode get dan set publik.


Akses Anggota Pribadi

Untuk mengakses atribut pribadi, gunakan metode "get" dan "set" publik:

Contoh

#include <iostream>
using namespace std;

class Employee {
  private:
    // Private attribute
    int salary;

  public:
    // Setter
    void setSalary(int s) {
      salary = s;
    }
    // Getter
    int getSalary() {
      return salary;
    }
};

int main() {
  Employee myObj;
  myObj.setSalary(50000);
  cout << myObj.getSalary();
  return 0;
}

Contoh dijelaskan

Atributnya salaryadalah private, yang memiliki akses terbatas.

Metode publik setSalary()mengambil parameter ( s) dan menetapkannya ke salaryatribut (gaji = s).

Metode publik getSalary()mengembalikan nilai salaryatribut pribadi.

Di dalam main(), kita membuat objek Employeekelas. Sekarang kita dapat menggunakan setSalary()metode untuk menyetel nilai atribut pribadi menjadi 50000. Kemudian kita memanggil getSalary()metode pada objek untuk mengembalikan nilainya.


Mengapa Enkapsulasi?

  • Ini dianggap praktik yang baik untuk mendeklarasikan atribut kelas Anda sebagai pribadi (sesering mungkin). Enkapsulasi memastikan kontrol yang lebih baik atas data Anda, karena Anda (atau orang lain) dapat mengubah satu bagian kode tanpa memengaruhi bagian lain
  • Peningkatan keamanan data