User Tools

Site Tools


Problem constructing authldap
laboratoare:organizare-acces
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:organizare-acces [2013/09/24 18:55]
daniel.ciocirlan Jumatate
laboratoare:organizare-acces [2019/09/04 18:41] (current)
Adriana Draghici [Exerciţii]
Line 37: Line 37:
 Clasele şi funcţiile menţionate până acum au fost declarate utilizând un specificator special: ''​public''​. În limbajul Java (şi în majoritatea limbajelor de programare de tipul OOP), orice clasă, atribut sau metodă posedă un **specificator de acces**, al cărui rol este de a restricţiona accesul la entitatea respectivă,​ din perspectiva altor clase. Există specificatorii:​ Clasele şi funcţiile menţionate până acum au fost declarate utilizând un specificator special: ''​public''​. În limbajul Java (şi în majoritatea limbajelor de programare de tipul OOP), orice clasă, atribut sau metodă posedă un **specificator de acces**, al cărui rol este de a restricţiona accesul la entitatea respectivă,​ din perspectiva altor clase. Există specificatorii:​
  
 +* **''​public''​** - permite acces complet din exteriorul clasei curente
 +* **''​private''​** - limitează accesul doar în cadrul clasei curente
 +* **''​protected''​** - limitează accesul doar în cadrul clasei curente şi al tuturor descendenţilor ei (conceptul de //​descendenţă//​ sau de //​moştenire//​ va fi explicat mai târziu)
 +* **(default)** - în cazul în care nu este utilizat explicit nici unul din specificatorii de acces de mai sus, accesul este permis doar în cadrul //​pachetului//​ (package private). Atenţie, nu confundaţi specificatorul default (= lipsa unui specificator explicit) cu ''​protected''​!
 +
 +**Important**:​ utilizarea specificatorilor contribuie la realizarea //​**încapsulării**//​. Amintim, din primul laborator, că încapsularea se referă la acumularea atributelor şi metodelor caracteristice unei anumite categorii de obiecte într-o clasă. //Pe de altă parte, acest concept denotă şi ascunderea informaţiei de stare internă a unui obiect, reprezentată de atributele acestuia, alături de valorile aferente, şi asigurarea comunicării strict prin intermediul metodelor// (= //​interfata//​ clasei). Acest lucru conduce la izolarea modului de implementare a unei clase (= atributele acesteia şi cum sunt manipulate) de utilizarea acesteia. Utilizatorii unei clase pot conta pe funcţionalitatea expusă de aceasta, **indiferent de implementarea ei internă** (chiar şi dacă se poate modifica în timp). Dacă utilizatorii ar avea acces la modul efectiv de implementare a unei clase, ar fi imposibilă modificarea implementării ei (necesitate care apare des în practică) fără un impact lateral asupra utilizatorului.
 +
 +
 +
 + 
 +
 + 
laboratoare/organizare-acces.1380038122.txt.gz · Last modified: 2013/09/24 18:55 by daniel.ciocirlan