Основы объектно-ориентированного программирования на языке 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