Programare Orientată Obiect
Încapsulare
Încapsularea înseamnă ascunderea datelor interne și expunerea lor doar prin metode controlate (getteri și setteri).
encapsulation.cpp
class Elev {
private:
string nume;
int nota;
public:
Elev(string n, int nota) : nume(n) { setNota(nota); }
string getNume() const { return nume; }
int getNota() const { return nota; }
void setNota(int n) {
if (n >= 1 && n <= 10) nota = n;
else cout << "Nota invalida!" << endl;
}
};
Elev e("Ana", 9);
e.setNota(11); // "Nota invalida!" — validare!
e.setNota(10);
cout << e.getNota(); // 10Încapsularea permite validarea datelor, schimbarea implementării interne fără a afecta codul care folosește clasa, și prevenirea stărilor invalide.