Основы объектно-ориентированного программирования на языке C# book | Page 17
1.6 Програмування з використанням елементiв ООП
У лiфта є висота, ширина, довжина — це властивостi. Вiн умiє
перемiщатися — нагору/униз, це методи.
Лiфти, що встановленi в наших будинках — це конкретнi екземпля-
ри класу “Лiфт”, у яких є особистий номер, розмiри. Також є iнтер-
фейс — це кнопки керування лiфтом.
Для опису лiфта треба задати:
– поля для опису обладнання лiфту;
– методи для опису як вiн повинен перемiщатися – нагору / униз;
– iнтерфейс для опису взаємодiı̈ людини й лiфта.
За проектом, кресленням ми можемо виготовити багато лiфтiв. Мо-
жемо, наприклад, мiняти ı̈м у колiр дверей (атрибут public , вла-
стивостi читання/запису), але не можемо мiняти швидкiсть, яка
постiйна (атрибут public , властивостi лише читання). У нього є
багато iнших внутрiшнiх властивостей, якi нам невiдомi , вони є схо-
ваними (атрибут private ), але завдяки ним лiфт працює.
Приклад 4. Клас Автомат “Калашникова” (class Mashinegan).
Автомат має: магазин, прицiльну рамку, багнет-нiж, спусковий га-
чок, iншi деталi, властивi всiм автоматам. Також вiн має рiзнi режи-
ми стрiлянини — одиночнi й черга. Залежно вiд поточного режиму
стрiлянини (читай стану), автомат по-рiзному стрiляє: одиночними
пострiлами або чергою. Таким чином, при однаковому натисканнi
на спусковий гачок автомат має рiзну поведiнку. У мiру стрiлянини
кiлькiсть патронiв у магазинi зменшується (значення поля “магазин”
змiнюється).
Для опису автомата треба задати:
– поля для опису устрою автомата;
– методи для опису, як повинен автомат поводитися, наприклад,
стрiляти в рiзних режимах;
– iнтерфейс для опису взаємодiı̈ стрiлка й автомата.
Без ООП ми, для iмiтацiı̈ роботи автомата, викликали щось на-
чебто функцiı̈ Fire(ammocount, burstmode) , де ammocount – кiлькiсть
набоı̈iв у магазинi, burstmode – режим стрiлянини.
А в ООП уся iнформацiя зберiгається в об’єктi й ми викликаємо
просто метод Fire() , який входить в опис класу Mashinegan .
Приклад 5. Клас “Автомобiль”.
В автомобiля є поля, властивостi i є функцiı̈, якi вiн може ви-
конувати. До полiв можна вiднести, колеса, двигун, кузов, сидiння
17