Курсовая работа: Побудова і використання класів
1.1. Основні принципи об’єктно-орієнтованого програмування
Об’єктно-орієнтоване програмування (далі ООП) – це технологія програмування, яка базується на класифікації та абстракції об’єктів. ООП акумулює найкращі ідеї, реалізовані в структурному програмуванні та єднає їх з новими потужними концепціями, які дозволяють оптимально організовувати програми. ООП дозволяє розкласти проблему на складові частини. Кожна складова частина становиться самостійним об’єктом, який містить свої власні коди та дані, які належать цьому об’єкту. В цьому випадку вся процедура в цілому спрощується, і програміст отримує можливість оперувати з набагато більшими за об’ємом програмами.
В даній курсовій роботі основні концепції ООП реалізуються за допомогою мови програмування високого рівня С++. Усі мови ООП, включаючи С++, базуються на трьох основних концепціях: інкапсуляція, поліморфізм та успадкування. Розглянемо ці концепції.
Інкапсуляція (encapsulation) – це механізм, який єднає дані та код, керуючий цими даними, а також захищає одне та друге від зовнішнього впливу або неправильного використання. Якщо поєднати код та дані разом, то отримаємо об’єкт (object). Іншими словами, об’єкт – це те, що підтримує інкапсуляцію.
Всередині об’єкта коди та дані можуть бути закритими (private) або відкритими (public). Закриті коди та дані доступні тільки для інших частин цього об’єкта. Закриті коди та дані недоступні для частин програми, які існують за цим об’єктом. Якщо коди та дані є відкритими, то не дивлячись на те що вони задані всередині об’єкта, їх можна використовувати в інших частинах програми.
Насправді об’єкт – це змінна визначеного користувачем типу. Таким чином, об’єкт, який єднає код та дані, є складеною змінною.
Поліморфізм (polymorphism) – це властивість, яка дозволяє одне й те ж саме ім’я використовувати для розв’язання двох та більше схожих, але технічно різних задач. Метою поліморфізму є використання одного імені для завдання загальних для класу дій. Виконання кожної конкретної дії буде визначатися типом даних. В С++ можна використати одне ім’я функції для множини різних дій. Це називається перевантаженням функцій (functionoverloading).
Перевагою поліморфізму є те, що він допомагає знижувати складність програм дозволяючи використовувати той самий інтерфейс для завдання єдиного класу дій.
Також можна примінити поліморфізм до операторів. Такий тип поліморфізму називається перевантаженням операторів (operatoroverloading).
Ключовим у розумінні поліморфізму є те, що він дозволяє маніпулювати об’єктами різного степеня складності шляхом загального для них стандартного інтерфейсу для реалізації схожих дій.
Успадкування (inheritance) –це процес, за допомогою якого один об’єкт може одержувати властивості іншого. Тобто об’єкт може успадковувати основні властивості іншого об’єкта та додавати до них риси, характерні тільки для нього. Успадкування є важливим, тому що воно дозволяє підтримувати концепцію ієрархії класів. Без використання ієрархії класів, для кожного об’єкта треба було б задати усі характеристики, які б повністю його визначали. Але при використанні успадкування можна описати об’єкт шляхом визначення того загального класу (або класів), до яких він відноситься, з тими спеціальними рисами, які роблять об’єкт унікальним. [1]
1.2. Методика розробки програм на основі об’єктно-орієнтованого підходу
Розробка програм на мові С++ ведеться з допомогою спеціальних комплексів програм, які мають назву системи програмування та дозволяють створювати програми на конкретній реалізації мови. Процес створення програм включає чотири етапа:
1. Написання та редагування начального тексту програми з запам’ятовуванням її у вигляді начального файлу або модуля.
2. Компіляція програми та отримання її на певній проміжковій мові з запам’ятовуванням її у вигляді об’єктного файлу або модуля.
3. Створення файлу, який виконується або модуля шляхом об’єднання (компоновки) отриманого об’єктного модуля програми з іншими об’єктними модулями стандартних та спеціальних бібліотек.
4. Налагодження програми, яке можна проводити з допомогою спеціального засобу (налагоджувальника) , який полегшує знаходження помилок.
Основними компонентами сучасних систем програмування є:
· інтегроване середовище програмування;
· редактор зв’язків (компоновник);
· бібліотеки заголовних файлів;
· стандартні та спеціальні бібліотеки;
· бібліотеки прикладів програм;
· програми-утиліти;
· файли документації.
Таким чином, загальну схему створення програми можна описати наступною діаграмою.
передпроцесорна
обробка компіляція компоновка