Encapsulación C++
Encapsulación
El significado de Encapsulación es asegurarse de que los datos "sensibles" estén ocultos para los usuarios. Para lograr esto, debe declarar las variables/atributos de clase como private
(no se puede acceder desde fuera de la clase). Si desea que otros lean o modifiquen el valor de un miembro privado, puede proporcionar métodos públicos de obtención y
configuración .
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;
}
Ejemplo explicado
El salary
atributo es private
, que tienen acceso restringido.
El setSalary()
método público toma un parámetro ( s
) y lo asigna al
salary
atributo (salario = s).
El getSalary()
método público devuelve el valor del salary
atributo privado.
Dentro main()
, creamos un objeto de la Employee
clase. Ahora podemos usar el
setSalary()
método para establecer el valor del atributo privado en 50000
. Luego llamamos al
getSalary()
método 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 (con la mayor frecuencia posible). La encapsulación asegura un mejor control de sus datos, porque usted (u otros) pueden cambiar una parte del código sin afectar otras partes
- Mayor seguridad de los datos