Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Кафедра ЕОМ
Курсова робота
з предмету: «Програмування, частина 2 (Об’єктно-
орієнтоване програмування)»
на тему:
«Базові принципи об’єктно-орієнтованого програмування»
Індивідуальне завдання: «Кафе»
АНОТАЦІЯ
ЗМІСТ
ВСТУП
ОГЛЯД ТА ОБҐРУНТОВУВАННЯ ВИБОРУ ТЕХНОЛОГІЙ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ
Об'єктно-орієнтоване програмування (ООП) - це модель програмування яка базується на стверджені того, що програма це сукупність об’єктів які взаємодіють між собою. Кожен об’єкт в цій моделі є незалежним, і він здатний отримувати, обробляти дані та відправляти ці дані іншим об’єктам. В ООП використано моделі успадкування, модульності, поліморфізму та інкапсуляції.
Успадкування (наслідування) – це здатність об’єктів (класів) переймати деякі властивості у своїх прабатьків. Це призводить до повторного використання вже написаного одного разу коду. Дочірні класи успадковують атрибути та поведінку своїх батьківських класів, і можуть мати нові власні атрибути. Тобто утворюється ієрархія з класів, де від основного класу (так званого, предка) походять усі інші класи. Наслідування дозволяє спростити програму, адже не потрібно для кожного дочірнього класу прописувати код вже написаний у батьківському, а всього-на-всього викликати і використовувати його. Кількість дочірніх класів є необмеженою. Тому добре продуманий алгоритм може суттєво зменшити обсяг загального коду і відповідно пришвидшити виконання програми. Ця властивість ООП є дуже вагомою, коли йдеться мова про великі проекти, де наслідування крім спрощення, ще додає читабельності.
Інкапсуляція – зміст якої полягає у приховуванні від зовнішнього користувача деталей реалізації об'єкта, замість цього надаючи інтерфейс взаємодії з ним, слугує захисним елементом для програми, зменшуючи шанси втрутитись і змінити поведінку роботи останньої.
Поліморфізм – це властивість ООП, яка дає змогу змінювати поведінку програми під час її виконання, тобто два і більше класів можуть по різному реагувати на однакові повідомлення. Це спричинене зміною в одного з класів якогось методу (процедури, функції), шляхом запису іншого алгоритму. Перевагою поліморфізму є те, що він допомагає зменшити складність програм, а також використовувати один інтерфейс для єдиного класу дій.
У даній курсовій роботі я використовуватиму всі три властивості об’єктно-орієнтованого програмування, які я описував вище (інкапсуляцію, поліморфізм, наслідування).
Інкапсуляцію я вибрав через те, що вона допомагає приховати дані від зовнішнього перегляду, зменшуючи вразливість програми. А також, оскільки класи, які не є дочірніми не бачитимуть даних, що містяться в класі, що використовує інкапсуляцію, то це полегшить виявлення мною помилок, які можна помилково допустити.
Наслідування – це одна із найважливіших властивостей ООП, що найчастіше зустрічається при написанні програм. Я, звичайно, використовую її для зменшення обсягу написаного мною коду, та пришвидшення роботи програми, а також вона будує логічну ієрархію, з якою в процесі легше працювати.
Поліморфізм я застосовую у даній роботі, тому, що він додає гнучкості програмі, розширює її функціонал, дозволяє змінити подію у ході виконання. 2. АНАЛІЗ ТА РОЗРОБКА АЛГОРИТМУ ЗГІДНО ІНДИВІДУАЛЬНОГО ЗАВДАННЯ
2.1.ОПИС АЛГОРИТМУ ТА ОЦІНКА ЙОГО СКЛАДНОСТІ.
/
Рис.1 Діаграма прецедентів
На початку програми зчитуються необхідні дані: назва товару, кількість товару та його ціна. Після цього нам потрібно вибрати ким ми є: 1. Покупець, 2.Адміністратор.
При виборі покупця, ми можемо подивитися меню, зробити замовлення, оплатити замовлення, отримати чек, залишити відгук, подивитися книгу відгуків та відкрити калькулятор. Відповідно, натиснувши подивитися меню, нам відкривається таблиця із стравами нашого кафе. Натиснувши зробити замовлення, ми викличемо меню, де потрібно буде вказати, який з якого елементу меню робити замовлення, пізніше вказати кількість різних позицій того підменю і нарешті яку страву...