Cuprins:
Definiție - Ce înseamnă Encapsulare?
Încapsularea, în contextul C #, se referă la capacitatea unui obiect de a ascunde date și comportament care nu sunt necesare utilizatorului său. Încapsularea permite unui grup de proprietăți, metode și alți membri să fie considerate o singură unitate sau obiect.
Următoarele sunt avantajele încapsulării:
- Protecția datelor împotriva corupției accidentale
- Specificarea accesibilității fiecăruia dintre membrii unei clase la codul din afara clasei
- Flexibilitatea și extensibilitatea codului și reducerea complexității
- Cuplarea mai mică între obiecte și, prin urmare, îmbunătățirea menținerii codului
Încapsularea este utilizată pentru a restricționa accesul membrilor unei clase, astfel încât să împiedice utilizatorul unei anumite clase să manipuleze obiecte în moduri care nu sunt proiectate de proiectant. În timp ce încapsularea ascunde implementarea internă a funcționalităților clasei fără a afecta funcționarea generală a sistemului, permite clasei să furnizeze o solicitare de funcționalitate și să adauge sau să modifice structura sa internă (date sau metode) pentru a se potrivi cerințelor schimbătoare.
Încapsularea este cunoscută și sub denumirea de ascunderea informațiilor.
Techopedia explică încapsularea
Încapsularea în C # este implementată cu diferite niveluri de acces la date obiect care pot fi specificate cu ajutorul următoarelor modificatoare de acces:
- Public: acces la toate codurile din program
- Privat: Acces numai pentru membrii aceleiași clase
- Protejat: Acces la membrii aceleiași clase și la clasele derivate ale acesteia
- Intern: Acces la ansamblul curent
- Protect intern: acces la ansamblul curent și tipuri derivate din clasa conținând
Încapsularea poate fi ilustrată cu un exemplu de obiect Angajat care stochează detalii despre acel obiect. Prin utilizarea încapsulării, obiectul Angajat poate expune datele (precum Nume, EmployeeID etc.) și metode (cum ar fi GetSalary) necesare pentru utilizarea obiectului, ascunzând în același timp câmpurile și metodele sale irelevante de la alte obiecte. Este ușor de observat o situație în care toți utilizatorii ar putea accesa informații de bază despre un angajat, restrângând informațiile salariale.
C # permite încapsularea datelor prin utilizarea accesorilor (pentru a obține date) și a mutatorilor (pentru a modifica datele), care ajută la manipularea indirectă a datelor private fără a le face publice. Proprietățile sunt un mecanism alternativ pentru ca datele private să fie încapsulate într-un obiect C # și accesate fie în modul numai citit, fie în modul citire-scriere. Spre deosebire de accesor și mutator, o proprietate oferă un singur punct de acces la valorile „setului” și „obține” ale unui obiect.