This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
laboratoare:organizare-acces [2013/09/24 19:33] daniel.ciocirlan |
laboratoare:organizare-acces [2013/09/24 19:43] daniel.ciocirlan |
||
---|---|---|---|
Line 42: | Line 42: | ||
* **(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''! | * **(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''! | ||
- | 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 functionalitatea expusa de aceasta, indiferent de modalitatea in care ea este implementata, aceasta putandu-se chiar modifica in timp. Accesul utilizatorilor la implementarea unei clase ar conduce la imposibilitatea modificarii acesteia din urma, fara a declansa actualizari ale portiunilor ce utilizeaza clasa respectiva. | + | **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. |
+ |