C++ Kapselung
Kapselung
Die Bedeutung von Kapselung besteht darin, sicherzustellen, dass „sensible“ Daten vor Benutzern verborgen bleiben. Um dies zu erreichen, müssen Sie Klassenvariablen/-attribute als private
deklarieren (der Zugriff ist nicht von außerhalb der Klasse möglich). Wenn Sie möchten, dass andere den Wert eines privaten Mitglieds lesen oder ändern, können Sie öffentliche Methoden get und set bereitstellen.
Zugriff auf private Mitglieder
Um auf ein privates Attribut zuzugreifen, verwenden Sie die öffentlichen Methoden „get“ und „set“:
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;
}
Try it Yourself »
Beispiel erklärt
Das Attribut salary
ist private
und hat nur eingeschränkten Zugriff.
Die öffentliche Methode setSalary()
nimmt einen Parameter (s
) und weist ihn dem zu salary
-Attribut (salary = s).
Die öffentliche Methode getSalary()
gibt den Wert des privaten Attributs salary
zurück.
Innerhalb von main()
erstellen wir ein Objekt der Klasse Employee
. Jetzt können wir die Methode setSalary()
verwenden, um den Wert des privaten Attributs auf 50000
zu setzen. Dann rufen wir die Methode getSalary()
für das Objekt auf, um den Wert zurückzugeben.
Warum Kapselung?
- Es gilt als bewährte Vorgehensweise, Ihre Klassenattribute (so oft wie möglich) als privat zu deklarieren. Die Kapselung sorgt für eine bessere Kontrolle Ihrer Daten, da Sie (oder andere) einen Teil des Codes ändern können, ohne dass sich dies auf andere Teile auswirkt
- Erhöhte Datensicherheit