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 salary
Attribut ist private
, die eingeschränkten Zugriff haben.
Die öffentliche setSalary()
Methode nimmt einen Parameter ( s
) und weist ihn dem
salary
Attribut (Gehalt = s) zu.
Die öffentliche getSalary()
Methode gibt den Wert des privaten salary
Attributs zurück.
Innerhalb main()
erstellen wir ein Objekt der Employee
Klasse. 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