Основы объектно-ориентированного программирования на языке C# book | Page 21

1.7 Атрибути private, public, protected Elevator MyElevator; MyElevator = new Elevator(); MyElevator.heigth = 2; MyElevator.width = 3; MyElevator.length = 1; MyElevator.capacity = 800; MyElevator.Up(); MyElevator.Down(); } } } Атрибут public означає, що метод описаний в одному класi мо- же викликатися в iнших класах. Якщо ми не прагнемо давати такоı̈ можливостi, то слiд використовувати атрибут private. Отже, ми розiбралися, iз чого складаються класи, навчилися ı̈х опи- сувати. Так само ми вмiємо створювати екземпляри класiв i викону- вати заданi дiı̈ з ı̈хнiми полями. Ще раз хочеться пiдкреслити той факт, що сучасне програмуван- ня вимагає вмiння оперувати iз класами i ı̈х екземплярами, а мова C# це об’єктно-орiєнтований мова програмування, у чому ми ще не раз переконаємося. 1.7 Атрибути private, public, protected Якщо ж ми в попередньому параграфi використовували атрибут до- ступу public , то має сенс розглянути питання доступностi полiв бiльш докладно. Екземпляри одного класу можуть бути полями в iншому класi. У нашому випадку в класi Program оголошується й використо- вується екземпляр класу Elevator . Ми в класi Program маємо можливiсть працювати iз полями, що оголошенi в класi Elevator . Ми змiнюємо значення, можемо друкува- ти ı̈х. Також ми викликаємо методи, що оголошенi в класi Elevator . Для цього цi поля i методи оголошенi з атрибутом public . Але iнко- ли, має сенс заборонити доступ до полей i методiв класу, зробити ı̈х закритими або мовою C# – private . Пояснiмо це бiльш детально. Якщо ми застосовуємо для поля атри- бут public , то екземпляри будь-якого класу можуть використовувати це поле або метод. У випадку використання private – лише екземпля- ри даного класу можуть звертатися до елементiв класу. Тобто поля i методи захищенi вiд несанкцiонованого доступу до них з боку «чу- жих» екземплярiв. Це пiдвищує загальну надiйнiсть програмного за- безпечення. Залишився атрибут protected . Цей атрибут у ООП має особливе значення. З одного боку вiн робить поля i методи захище- ними, а з iншого дає можливiсть екземплярам iнших але спецiальних 21