Obsah:
Definícia - Čo znamená zapuzdrenie?
Zapuzdrenie v kontexte C # označuje schopnosť objektu skryť údaje a správanie, ktoré nie sú pre jeho používateľa potrebné. Zapuzdrenie umožňuje, aby sa skupina vlastností, metód a ďalších členov považovala za jednu jednotku alebo objekt.
Výhody enkapsulácie sú:
- Ochrana údajov pred náhodným poškodením
- Špecifikácia prístupu každého člena triedy k kódu mimo triedy
- Flexibilita a rozšíriteľnosť kódu a zníženie zložitosti
- Nižšia väzba medzi objektmi, a tým zlepšenie udržiavateľnosti kódu
Zapuzdrenie sa používa na obmedzenie prístupu k členom triedy, aby sa zabránilo užívateľovi danej triedy v manipulácii s objektmi spôsobmi, ktoré nie sú určené projektantom. Kým zapuzdrenie zakrýva vnútorné vykonávanie funkcií triedy bez toho, aby to ovplyvnilo celkové fungovanie systému, umožňuje triede obsluhovať požiadavku na funkčnosť a pridávať alebo upravovať svoju vnútornú štruktúru (údaje alebo metódy) tak, aby vyhovovali meniacim sa požiadavkám.
Zapuzdrenie je známe aj ako skrytie informácií.
Techopedia vysvetľuje zapuzdrenie
Zapuzdrenie v C # je implementované s rôznymi úrovňami prístupu k objektovým údajom, ktoré je možné špecifikovať pomocou nasledujúcich modifikátorov prístupu:
- Verejné: Prístup ku všetkým kódom v programe
- Súkromné: Prístup iba členom rovnakej triedy
- Chránené: Prístup k členom rovnakej triedy az nej odvodeným triedam
- Interné: Prístup k aktuálnej zostave
- Chránené interné: Prístup k aktuálnej zostave a typom odvodeným z triedy obsahujúcej
Zapuzdrenie je možné znázorniť na príklade objektu zamestnanca, ktorý ukladá podrobnosti o tomto objekte. Použitím zapuzdrenia môže objekt Zamestnanec odhaliť údaje (ako Meno, Identifikátor zamestnanca, atď.) A metódy (ako GetSalary) potrebné na používanie objektu, zatiaľ čo skrýva svoje irelevantné polia a metódy pred ostatnými objektmi. Je ľahké vidieť situáciu, keď by všetci používatelia mali prístup k základným informáciám o zamestnancovi a zároveň obmedzovali informácie o mzde.
C # umožňuje zapuzdrenie údajov pomocou prístupových práv (na získanie údajov) a mutátorov (na úpravu údajov), ktoré pomáhajú pri nepriamej manipulácii so súkromnými údajmi bez ich zverejnenia. Vlastnosti sú alternatívnym mechanizmom pre súkromné údaje zapuzdrené v objekte C # a prístupné v režime iba na čítanie alebo v režime čítania a zápisu. Na rozdiel od prístupového a mutačného nástroja vlastnosť poskytuje jediný bod prístupu k hodnotám „množiny“ a „get“ objektu.
