Основы объектно-ориентированного программирования на языке C# book | Page 112
7 Класи
class Program
{
static void Main(string[] args)
{
double TotalSquare;
// доступ до Radius можливий через використання static
Circle.Radius = 3.67;
// доступ до Pi можливий
double Length = 2 * Circle.Pi * Circle.Radius;
}
}
}
7.2 Правила доступу
Для того щоб краще зрозумiти права доступу необхiдно ввести поня-
ття збiрки (англ. assembly).
Збiрка – це (скомпiльована) колекцiя типiв та ресурсiв у вигля-
дi .exe або .dll файлу (файлiв). Збiрка надає можливiсть управлiння
версiями, повторного використання коду, областi дiı̈ та полiтики без-
пеки.
Модификатори доступу дозволяють задати допустиму областi ви-
димостi для класiв i членiв класу. Тобто задати той контекст, в якому
можно використовувати задане поле, метод або клас.
Модифiкаторiв доступу для класiв, що не є членами iнших типiв
є два: public та internal . Для таких класiв модифiкатор доступу
public означає, що доступ до класу можливий з будь-якого мiсця сво-
єı̈ збiрки або з iншоı̈ збiрки, на яку є посилання; модифiкатор досту-
пу internal – доступ до класу можливий тiльки зi збiрки, у якiй вiн
оголошений.
Для членiв класу може бути п’ять видiв доступу:
- public – доступ не обмежений;
- protected – доступ до члена можливий тiльки усерединi класу,
або в класi-спадкоємцi (при спадкуваннi); при цьому доступ у класi-
спадокємцi до нестатичного члена з таким доступом має вiдбуватися
через екземпляр класу-спадкоємця, або екземпляр типу, побудованого
на основi класу-спадкоємця.
- internal – доступ до члена можливий тiльки зi збiрки, у якiй вiн
оголошений
- private – доступ до члена можливий тiльки усерединi класу;
- protected internal - доступ до члена можливий зi збiрки, або iз
класу-спадкоємця в iншiй збiрцi; при доступi до нестатичного члену з
класу-спадкоємця дiють обмеження, вказанi вище для рiвня доступу
112