Encapsulamento C++
Encapsulamento
O significado de Encapsulation , é garantir que os dados "sensíveis" estejam ocultos dos usuários. Para conseguir isso, você deve declarar variáveis/atributos de classe como private
(não pode ser acessado de fora da classe). Se você quiser que outras pessoas leiam ou modifiquem o valor de um membro privado, você pode fornecer métodos get e
set públicos.
Acessar membros privados
Para acessar um atributo privado, use os métodos públicos "get" e "set":
Exemplo
#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;
}
Exemplo explicado
O salary
atributo é private
, que tem acesso restrito.
O setSalary()
método public recebe um parâmetro ( s
) e o atribui ao
salary
atributo (salary = s).
O getSalary()
método public retorna o valor do salary
atributo privado.
Dentro main()
de , criamos um objeto da Employee
classe. Agora podemos usar o
setSalary()
método para definir o valor do atributo privado para 50000
. Em seguida, chamamos o
getSalary()
método no objeto para retornar o valor.
Por que Encapsulamento?
- É considerado uma boa prática declarar seus atributos de classe como privados (com a maior frequência possível). O encapsulamento garante um melhor controle de seus dados, porque você (ou outros) pode alterar uma parte do código sem afetar outras partes
- Maior segurança dos dados