Python 3
Machine Learning

PENTRU ELEVII DE LICEU

LECȚIA 17
PAG. 1 / 4
OOP - Încapsularea
Acasă >>> Lecții online

Introducere

În programarea orientată pe obiecte, încapsularea este un principiu esențial care înseamnă să adunăm împreună datele și funcțiile care operează asupra lor într-o singură unitate – clasa – și să ascundem detaliile interne ale implementării față de restul programului. Practic, încapsularea ne ajută să protejăm datele obiectului, astfel încât să nu poată fi modificate direct de oriunde, ci doar prin metode controlate.
Imaginați-vă un televizor. Nu aveți acces direct la circuitele lui interne, nu puteți modifica cum funcționează electronica din interior. În schimb, folosiți telecomanda – un set clar definit de butoane – ca să-l controlați. La fel funcționează și încapsularea: obiectele oferă o interfață clară (metode) prin care alte părți ale programului pot interacționa cu ele, fără să a se avea acces la „motorul intern”.

În limbajul de programare Python, nu avem modificatori de acces ca în alte limbaje (public, private, protected), însă avem o convenție prin care semnalăm cum trebuie folosite atributele:

  • Un atribut fără prefix este considerat public și poate fi accesat oricând din afara clasei.
  • Un atribut prefixat cu un underscore (_) e „protejat” — un semnal pentru ceilalți programatori că este destinat uzului intern al clasei sau al subclass-urilor, chiar dacă este accesibil.
  • Un atribut prefixat cu două underscore-uri (__) este privat, iar Python îl „ascunde” folosind mecanismul name mangling, pentru a descuraja accesul direct din exterior.
Încapsularea nu înseamnă doar ascunderea datelor, ci și controlul asupra modului în care ele sunt modificate și accesate. Astfel, putem preveni stări invalide, neintenționate, și putem face codul robust și mai ușor de întreținut.
Avansează la pagina următoare.
 home   list  LECȚII   perm_identity   arrow_upward