Право на пристап до својствата и методите: внатрешни, јавни, приватни, заштитени, заштитени внатрешни (Internal, Public, Private, Protected, Protected Internal)

 

Можете да го видите клучниот збор „ public “ во претходниот код, но никаде немаше објаснување за тоа. Во ова поглавје ќе научиме што е тој збор и кои се другите такви зборови и нивната улога.

Теорија за правото на пристап

На часовите, неговите членови и методи може да им се даде право на пристап што се разликува во три фази. На пример, сакаме да го оневозможиме пристапот до некои променливи од друга класа. Од друга страна, можеби ќе сакаме да создадеме класа чии својства и методи сакаме да им дадеме пристап од сите други класи.

Внатрешно право на пристап - Internal

Ја напишавме класата, својствата и методите со префиксот „ public “ за да можеме да пристапиме до неа од главната класа генерирана од Visual Studio (како и придружните датотеки). Стандардното право за пристап до класа што НЕ е во друга класа е Internal.

Внатрешниот овозможува пристап до класа од истиот „ Assembly “, но не и од надворешни. Во нашиот случај, можеме да пристапиме до класа од други класи ако се во рамките на истиот Solution.

 Јавно право на пристап - Public

Правата за јавен пристап ќе овозможат пристап до класата од каде било. Можеме да пристапиме до таква класа од ист проект, но и од други проекти, односно од ист Assembly, но и од други.

Поедноставено - можеме да пристапиме до такви класи од сите страни на Solution.

Приватно право на пристап - Private

Приватниот пристап ќе овозможи пристап до класа само во код во рамките на таа класа.

Поедноставено - можеме да пристапиме само до такви класи од иста класа. Не можеме да пристапиме до неговите методи и членови од други класи.

Заштитено право на пристап - Protected

Заштитениот овозможува пристап до класа само од иста класа или од класа создадена од класа која има заштитено право на пристап.

Поедноставено - можеме да пристапиме само до такви класи од иста класа или класа што ги правиме за да наследиме таква класа.

Заштитено Внатрешно право на пристап -  Protected Internal

Правото на заштитен внатрешен пристап овозможува пристап до класа само од тоа Assembly и од наследни класи.

Поедноставено - комбинација од заштитени и внатрешни права за пристап.

Класите и структурите можат да имаат само јавни и внатрешни права за пристап. Елементите во класата можат да ги имаат сите наведени права за пристап.