Encapsulation C++
Encapsulation
La signification d' Encapsulation est de s'assurer que les données "sensibles" sont cachées aux utilisateurs. Pour ce faire, vous devez déclarer les variables/attributs de classe en tant que private
(accessibles depuis l'extérieur de la classe). Si vous souhaitez que d'autres personnes lisent ou modifient la valeur d'un membre privé, vous pouvez fournir des méthodes get et
set publiques.
Accéder aux membres privés
Pour accéder à un attribut privé, utilisez les méthodes publiques "get" et "set":
Exemple
#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;
}
Exemple expliqué
L' salary
attribut est private
, dont l'accès est restreint.
La setSalary()
méthode publique prend un paramètre ( s
) et l'affecte à l'
salary
attribut (salaire = s).
La getSalary()
méthode publique renvoie la valeur de l' salary
attribut privé.
À l' intérieur main()
de , nous créons un objet de la Employee
classe. Nous pouvons maintenant utiliser la
setSalary()
méthode pour définir la valeur de l'attribut privé sur 50000
. Ensuite, nous appelons la
getSalary()
méthode sur l'objet pour renvoyer la valeur.
Pourquoi l'encapsulation ?
- Il est considéré comme une bonne pratique de déclarer vos attributs de classe comme privés (aussi souvent que vous le pouvez). L'encapsulation assure un meilleur contrôle de vos données, car vous (ou d'autres) pouvez modifier une partie du code sans affecter les autres parties
- Sécurité accrue des données