LECȚIA 17
|
PAG. 2 / 4
|
Acasă >>>
Lecții online

Exemplu de încapsulare
Ca să înțelegi mai bine încapsularea în acțiune, hai să construim împreună un exemplu concret, cât se poate de apropiat de viața reală: un cont bancar. În mod evident, acesta are un titular și un sold. Dar acel sold nu trebuie să fie accesibil oricui, oricând. Niciun client nu ar trebui să poată modifica direct suma de bani din contul său, fără niciun control. În viața reală, interacționezi cu banca printr-o interfață: depui bani, retragi, verifici soldul – dar nu umbli tu manual în baza de date.Exact acest comportament vrem să-l modelăm în cod (vezi programul de mai jos):
- titular este un atribut public – poate fi accesat și modificat direct.
- __sold este un atribut privat – nu poate fi accesat direct din exterior (spre exemplu, cont.__sold va genera eroare).
- Operațiile asupra soldului se fac doar prin metodele depune, retrage și afiseaza_sold.
Dacă cineva ar încerca să modifice soldul astfel:
cont.__sold = 999999
...nu va modifica de fapt soldul real, ci va crea un atribut nou, complet separat, care nu are legătură cu logica internă a clasei:

Încapsularea este mai mult decât un moft de sintaxă – este un mecanism care îți oferă siguranță, control și o interfață curată pentru fiecare clasă pe care o creezi. În lumea reală, un cod scris fără încapsulare e ca o casă fără uși – oricine intră, face modificări, și lasă haos în urmă.
Avansează la pagina următoare.

home | list LECȚII | perm_identity | arrow_upward |