C++ Encapsulación
Encapsulación
El significado de Encapsulación es garantizar que los datos "sensibles" estén ocultos a los usuarios. Para lograr esto, debe declarar las variables/atributos de clase como private (no se puede acceder a ellos desde fuera de la clase). Si desea que otros lean o modifiquen el valor de un miembro privado, puede proporcionar métodos públicos get y set.
Acceder a miembros privados
Para acceder a un atributo privado, utilice los métodos públicos "get " y "set ":
Ejemplo
#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 »
Ejemplo explicado
El atributo salary es private, que tiene acceso restringido.
El método público setSalary() toma un parámetro (s) y lo asigna al atributo salary (salary = s).
El método público getSalary() devuelve el valor del atributo privado salary.
Dentro de main(), creamos un objeto de la clase Employee. Ahora podemos usar el método setSalary() para establecer el valor del atributo privado en 50000. Luego llamamos al método getSalary() en el objeto para devolver el valor.
¿Por qué encapsulación?
- Se considera una buena práctica declarar los atributos de su clase como privados (tan a menudo como sea posible). La encapsulación garantiza un mejor control de sus datos, porque usted (u otros) puede cambiar una parte del código sin afectar otras partes
- Mayor seguridad de los datos