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