C++- Kapselung


Verkapselung

Die Bedeutung von Encapsulation besteht darin, sicherzustellen, dass "sensible" Daten vor Benutzern verborgen sind. Um dies zu erreichen, müssen Sie Klassenvariablen/-attribute als private(kann nicht von außerhalb der Klasse zugegriffen werden) deklarieren. Wenn Sie möchten, dass andere den Wert eines privaten Members lesen oder ändern, können Sie öffentliche Get- und Set- Methoden bereitstellen.


Greifen Sie auf private Mitglieder zu

Um auf ein privates Attribut zuzugreifen, verwenden Sie die öffentlichen „get“- und „set“-Methoden:

Beispiel

#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;
}

Beispiel erklärt

Das salaryAttribut ist private, die eingeschränkten Zugriff haben.

Die öffentliche setSalary()Methode nimmt einen Parameter ( s) und weist ihn dem salaryAttribut (Gehalt = s) zu.

Die öffentliche getSalary()Methode gibt den Wert des privaten salaryAttributs zurück.

Innerhalb main()erstellen wir ein Objekt der EmployeeKlasse. Jetzt können wir die setSalary()Methode verwenden, um den Wert des privaten Attributs auf zu setzen 50000. Dann rufen wir die getSalary()Methode für das Objekt auf, um den Wert zurückzugeben.


Warum Kapselung?

  • Es gilt als bewährte Methode, Ihre Klassenattribute als privat zu deklarieren (so oft Sie können). Die Kapselung gewährleistet eine bessere Kontrolle über Ihre Daten, da Sie (oder andere) einen Teil des Codes ändern können, ohne andere Teile zu beeinflussen
  • Erhöhte Datensicherheit