Obsah:
Definícia - Čo znamená modifikátor prístupu?
Modifikátory prístupu sú kľúčové slová, ktoré sa používajú na určenie prístupnosti triedy (alebo typu) a jej členov. Tieto modifikátory môžu byť použité z kódu vo vnútri alebo mimo súčasnej aplikácie.
Modifikátory prístupu v .NET sa používajú na riadenie prístupu každého člena typu z rôznych možných oblastí kódu. To sa dá vyriešiť zvnútra súčasnej zostavy alebo mimo nej. Zostava predstavuje logickú jednotku funkčnosti a pozostáva z typov a zdrojov umiestnených v jednom alebo viacerých súboroch.
Účelom použitia modifikátorov prístupu je implementácia zapuzdrenia, ktoré oddeľuje rozhranie typu od jeho implementácie. Z toho vyplývajú nasledujúce výhody:
- Zabránenie prístupu používateľov k interným údajom nastaveným do neplatného stavu.
- Zabezpečenie zmien vo vnútornej implementácii typov bez ovplyvnenia komponentov, ktoré ju používajú.
- Zníženie zložitosti systému znížením vzájomných závislostí medzi softvérovými komponentmi.
Techopedia vysvetľuje modifikátory prístupu
Framework .NET poskytuje možnosť mať päť typov modifikátorov prístupu:
- Súkromný - kód v rámci typu má prístup iba k členom tohto typu, a preto je prístup obmedzený na aktuálny typ
- Verejné - kód odkiaľkoľvek v rámci súčasnej zostavy alebo z inej zostavy, ktorá ju odkazuje, má prístup k členom daného typu, a teda umožňuje prístup odkiaľkoľvek
- Chránené - kód v rámci typu alebo jeho odvodených tried má prístup k členom daného typu, a preto je prístupnosť obmedzená na aktuálny typ a odvodené triedy.
- Interný - kód v aktuálnej zostave, ale nie z inej zostavy, má prístup k členom daného typu, a preto je prístup obmedzený na súčasnú zostavu.
- Chránené interné - kód v aktuálnej zostave má prístup k členom daného typu a tiež zo zostavy, ktorá naň odkazuje. Z tohto dôvodu je prístupnosť odvodená z tried v aktuálnej zostave a musí sa uskutočniť prostredníctvom inštancie odvodeného typu triedy v zostave, ktorá naň odkazuje.
Na modifikátory prístupu sa vzťahuje niekoľko pravidiel:
- Ak pre členov typu nie je špecifikovaný žiadny modifikátor prístupu, predvolená úroveň prístupu je súkromná a interná.
- Pre menné priestory nie sú povolené žiadne modifikátory prístupu, pretože sú verejné.
- Vnorené triedy a členy štruktúr deklarované v rámci typu sú podľa predvolenej triedy súkromné.
- Členovia štruktúry nemôžu byť vyhlásení za chránení, pretože nepodporujú dedičstvo.
- Destruktori nemôžu mať modifikátory prístupu.
- Odvodený typ nemôže mať väčšiu prístupnosť ako jeho základný typ.
- Člen typu, ktorý obsahoval, by mal mať prístup menší ako prístupový typ, ktorý ho obsahuje. Toto je možné ilustrovať na príklade: Verejná metóda v type obsahujúcom nemôže mať ako parameter „A“, ak typ A nie je na verejnosti viditeľný.
- Rozhrania sú deklarované ako verejné a interné a nemôžu mať iné modifikátory prístupu, pretože rozhrania sa používajú hlavne na to, aby sa z nich odvodili triedy.
- Modifikátory prístupu sa používajú nielen pre členov triedy, ale aj pre iné konštrukty kódov s rovnakým zámerom.
