Incapsulamento C++
Incapsulamento
Il significato di Encapsulation è assicurarsi che i dati "sensibili" siano nascosti agli utenti. Per ottenere ciò, è necessario dichiarare variabili/attributi di classe come private
(non è possibile accedere dall'esterno della classe). Se vuoi che altri leggano o modifichino il valore di un membro privato, puoi fornire metodi get e
set pubblici.
Accedi ai membri privati
Per accedere a un attributo privato, utilizzare i metodi pubblici "get" e "set":
Esempio
#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;
}
Esempio spiegato
L' salary
attributo è private
, che hanno accesso limitato.
Il setSalary()
metodo public prende un parametro ( s
) e lo assegna
salary
all'attributo (salary = s).
Il getSalary()
metodo public restituisce il valore dell'attributo private salary
.
All'interno main()
, creiamo un oggetto della Employee
classe. Ora possiamo usare il
setSalary()
metodo per impostare il valore dell'attributo private su 50000
. Quindi chiamiamo il
getSalary()
metodo sull'oggetto per restituire il valore.
Perché incapsulamento?
- È considerata una buona pratica dichiarare gli attributi della tua classe come privati (il più spesso possibile). L'incapsulamento garantisce un migliore controllo dei dati, perché tu (o altri) potete modificare una parte del codice senza influire su altre parti
- Maggiore sicurezza dei dati