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