
- •1. Історія розвитку мов програмування.
- •2. Структурне та об'єктно - орієнтоване програмування.
- •Процедурне програмування
- •Тема: Об'єктно — орієнтований підхід у програмуванні.
- •Суть об'єктно - орієнтовного підходу до програмування.
- •Особливості та переваги об'єктно - орієнтованого програмування.
- •Базові поняття та терміни
- •Наслідування, інкапсуляція та поліморфізм.
- •Заняття №3.
- •Написання програми.
- •2. Базові типи та описи даних.
- •Цілі числа
- •1. Основні поняття припроцесорної обробки. Компонування декількох файлів в одну програму
- •2. Припроцесорні змінні
- •3. Макровизначення (макроси).
- •4. Умовна компіляція
- •Заняття №5 Тема: Специфікація, об'єктів на основі абстрагування
- •1. Поняття класу об'єктів.
- •Формат класу.
- •Звернення до членів класу
- •Заняття №6 Тема: Ідентифікація об'єктів.
- •1. Ідентифікація назвою.
- •2. Область доступу ідентифікаторів
- •3. Опис об'єкту: інтерфейс і реалізація.
- •Тип адрес.
- •5. Ідентифікація вказівником.
- •6. Посилання
- •Віртуальні функції.
- •„Дружні" функції.
- •Тема: Інтерпретація об'єктів.
- •1. Поліморфізм
- •Тема: Інтерпретація об'єктів (заняття 2)
- •Наслідування властивостей.
- •Множинне наслідування.
- •1. Поняття „час життя" об'єкта та „область видимості".
- •Область видимості імен.
- •Тема: Динамічні структури об'єктів
- •1. Зв'язана організація пам'яті.
- •2. Асоціативні структури.
- •3. Списки. Черги. Рекурсивні структури. Набори. Дерева.
- •Тема: Процеси в об'єктах. Інкапсуляція
- •Логічний паралелізм. Схема сопрограм
- •Список використаної літератури
Наслідування, інкапсуляція та поліморфізм.
Об'єктно - орієнтована мова програмування має наступні властивості:
• Інкапсуляція (Encapsulation - приховування, герметизація всередині) - об'єднання даних та коду + захист від зовнішнього втручання і невірного використання.
Реалізація класу може бути прихована у захищеній області (private, protected), доступ до якої здійснюється через інтерфейсні поля/функції публічної (public) області.
• Наслідування (Inheritance) - створення нового класу як нащадка вже існуючого шляхом додаванням нових полів та методів, при цьому можливе перекриття (перевизначення) полів і методів класу-предка. Наслідування - процес, за допомогою якого один об'єкт присвоює властивості іншого, тобто підтримується ієрархічна класифікації;
Створюється ієрархія класів.
• Поліморфізм (Polymorphism - множинність форм) - це властивість, котра дозволяє використовувати одне і те ж ім'я для вирішення технічно різних задач, (властивості, що дозволяє використовувати один і той самий інтерфейс для загального класу дій).
Розробка об'єктно - орієнтовних програм складається з наступних послідовних дій:
визначення основних об'єктів, необхідних для обчислення даної задачі;
визначення закритих даних для обраних об'єктів;
визначення другорядних об'єктів і їхніх закритих даних;
визначення ієрархічної системи класів, що представляють обрані об'єкти;
визначення ключових повідомлень, що повинні обробляти об'єкти кожного класу;
розробка послідовності виразів, що дозволяють розв'язати поставлену задачу;
розробка методів, що обробляють кожне повідомлення;
очищення проекту, тобто усунення всіх допоміжних проміжних матеріалів, що використовувалися при проектуванні;
- кодування, налагодження, компонування і тестування. Об'єктно-орієнтоване програмування дозволяє програмісту
моделювати об'єкти визначеної предметної області шляхом програмування їхнього змісту і поводження в межах класу. Конструкція «клас» забезпечує механізм інкапсуляції для реалізації абстрактних типів даних. Інкапсуляція ніби приховує подробиці внутрішньої реалізації типів, зовнішні операції і функції, допустимі для виконання над об'єктами цього типу.
Заняття №3.
Тема: Початкові відомості про мову С++.
Мета: Ознайомлення з мовою С++. Структурою написання
програми. Вивчення типів даних, опису даних, структури та об'єднання, операцій, виразів, об'єктів та функцій.
План заняття:
Призначення С++. Історичні відомості.
Базові типи та описи даних.
Структури та об'єднання.
Операції та вирази.
Оператори С++.
Функції.
1. Призначення С++. Історичні відомості.
На початку 70-х років консорціум розробив комп'ютерну систему Multix. її призначенням було забезпечення недорогого всезагального доступу до графічних, текстових та інших файлів, до електронної пошти. Звичайно, це була досить недоречна ідея і загалом проект провалився.
Невелика група інженерів, що працювали в лабораторіях Біла, вирішили використати фрагменти Multix в невеликій операційній системі, яку охрестили Unix.
Ці інженери не мали однієї потужної машини, а лише декілька низько потужних машин різних виробників. Оскільки усі вони були різними, кожну програму доводилось переробляти під конкретну машину. Щоб уникнути цих незручностей була розроблена невелика, проте потужна мова програмування С.
Мова С виявилася насправді досить потужною і дуже швидко завоювала перші позиції серед засобів розробки програмного забезпечення. Однак з часом в програмуванні з'явились нові технології (напр. об'єктно -орієнтовне програмування), які поступово витісняли мову С. Для того, щоб не залишатися за бортом, інженери удосконалили С, доповнивши його новими можливостями і отримали, в результаті нову мову програмування
С++ . Мова С++ широко використовується в системному програмуванні. На ній можна писати високоефективні програми, в тому числі і операційні системи, драйвери..
Мова С++ включає:
■ Словник зрозумілих для людей команд, які конвертуються в машину мову.
■ Структуру мови (або граматику), яка позволяє користувачам складати із команд працюючі програми.
Програми - це текстові файли, які містять послідовність команд зв'язаних між собою по законам граматики С++. Цей файл називають вихідним текстом. Вихідний файл в С++ має розширення .СРР ,так як файли Microsoft Word закінчуються на .DOC або командні файли MS DOS мають закінчення .ВАТ.
Задача програмування - це написання такої послідовності команд, після переведення якої в машину мову можна отримати програму, що виконує наші бажання.