- •Лекція №1.
- •Тема 1. Історичний і соціальний контекст програмування. Загальні принципи розробки програмних продуктів.
- •2. Застосування функцій Application Program Interface (api) для розробки програм для Windows.
- •3. Загальні відомості про об’єктно-орієнтоване програмування та автоматизацію проектування, програми програмування для Windows.
- •Лекція №2.
- •Тема 2. Введення у програмне середовище візуального програмування
- •Властивості компонентів.
- •Лекція №3.
- •2. Застосування модулів при програмуванні. Загальний вміст файлу модуля Unit1.Cpp .
- •Лекція №4.
- •Тема 4. Візуальне програмування компонентів при створенні програми.
- •Структура vcl.
- •Клас tObject.
- •Клас tPersistent.
- •Клас tComponent.
- •Клас tControl.
- •Клас tForm.
- •Клас tTimer.
- •Клас tStrings.
- •Клас tStringList.
- •Клас tFont.
- •Властивості.
- •Значення властивостей.
- •Типи властивостей.
- •Методи.
- •Лекція №5.
- •Тема 5. Подійно-орієнтована взаємодія між компонентами при створенні програми.
- •1. Взаємодія між компонентами та діями користувача при створенні програми та подальшого її використання.
- •2. Характеристика основних подій що виникають з об’єктами: OnActivate, OnClose, OnCreate, OnDestroy, OnHide, OnPaint, OnResize, OnShow, OnClick, OnDblClick, OnMouseDown, OnKeyDown, OnEnter та інші.
- •Лекція №6.
- •2. Змінні. Типизовані константи. Класифікація типів даних. Об’ява типів.
- •Модифікатори.
- •Користувацькі типи.
- •Розмір об’єктів.
- •3. Програмна схема опрацювання подій. Перетворення типів даних.
- •Зведення типів.
- •Основні визначення.
- •Області видимості змінних.
- •Правило одного визначення.
- •Лекція№ 7.
- •Тема 7. Об’єктно-орієнтований підхід до класів.
- •1. Об’єктно-орієнтований підхід. Об’єкт.
- •2. Взаємозв’язки об’єктів, класів. Поля та методи класів. Статичні, динамічні методи. Класи. Об’ява класу. Модель вказників. Методи. Події та вказники на методи.
- •3. Три групи методів. Інкапсуляція. Спадковість. Поліформізм. Конструктори і деструктори.
- •Розробка класів.
- •Поняття про конструктори і деструктори.
- •Лекція № 8.
- •Тема 8. Обробка виняткових ситуацій.
- •Механізм обробки виняткових ситуацій.
- •Обробка виняткових ситуацій.
- •2. Застосування виняткових ситуацій. Протоколювання виняткових ситуацій. Коди помилок в виняткових ситуаціях. Виняткова ситуація eAbort. Функція Assert.
- •Ієрархія виняткових ситуацій.
- •Тотальне перехоплення виняткових ситуацій.
- •Генерація виняткових ситуацій
- •Повторні виняткові ситуації.
- •Непередбачені виняткові ситуації.
- •Лекція № 9.
- •Тема 9. Візуальні компоненти бібліотеки vcl.
- •1. Бібліотека візуальних компонент vcl і її базові класи. Ієрархія базових класів. Класи: tObject, tPersistent, tComponent.
- •Візуальні та невізуальні компоненти.
- •2. Класи елементів керування: tControl, tWinControl, tCustomControl, tGraphicControl.
- •Клас форм tForm. Форми для головного вікна.
- •Форми для діалогових, інформаційних та інших вторинних вікон.
- •Модальні та немодальні вікна.
- •Основні властивості компонентів (форми).
- •Властивості, що доступні під час розробки та виконання програми.
- •Властивості, що доступні тільки під час виконання програми.
- •Основні методи компонентів (форми).
- •Основні події компонентів (форми).
- •Лекція № 10. Компоненти для введення та редагування тексту.
- •1. Клас tStrings. Властивості Text, Lines, Items.
- •2. Методи для роботи і текстом: AddString, AddObject, Assing, Equals, Delete, Move, IndexOf, Pos.
- •Введення та відображення цілих чисел.
- •Багаторядкові вікна редагування.
- •Компоненти вибору зі списків.
- •Компоненти – меню.
- •Панелі та компоненти зовнішнього оформлення.
- •Панелі загального призначення.
- •Багатосторінкові панелі.
- •Рядок стану.
- •Організація управління додатком. Список зображень.
- •3. Конструкції коду для обмеження типів символів. Конструкції коду для створення комбінацій клавіш.
- •Лекція № 11.
- •1. Принципи побудови баз даних.
- •Локальні і віддалені бази даних.
- •Створення форми для роботи з базами даних (вручну).
- •Створення форми для роботи з базами даних (майстром).
- •Створення бази даних.
- •Лекція № 12.
- •Тема 12. Створення баз даних за допомогою Database Desktop.
- •1. Створення нової таблиці. Задання полів. Задання властивостей таблиці. Створення псевдонімів баз даних у Database Desktop.
- •Створення нової таблиці.
- •2. Створення та редагування псевдонимів баз даних та каталогів.
- •Лекція № 13.
- •Тема 13. Компоненти, що використовуються у bde для зв’язку з базами даних.
- •Механізм доступ до бази даних. Псевдоніми dbe.
- •Компоненти доступу до баз даних.
- •Лекція № 14
- •Тема 14. Народження дочірніх процесів.
- •1. Потоки та клас tThread. Властивості класу.
- •2. Методи класу: DoTerminate, Execute, Resume, Suspend, Synchronize, Terminate, WaitFor. Технологія com.
- •Запуск зовнішньої програми функцією execlp.
- •Запуск зовнішньої програми функцією spawnlp.
- •Породження процесу функцією CreateProcess.
- •Лекція №15
- •Тема 15. Побудова багатовіконних програм.
- •1. Приклади розробки програми переглядання текстових файлів, графічних файлів, та відображення показів годинника.
- •2. Розробка графічного інтерфейсу користувача. Вимоги до інтерфейсу користувача додатків для Windows.
- •Багатовіконні додатки.
- •Стиль вікон додатку.
- •Колірне рішення додатку.
- •Шрифти текстів.
- •Лекція № 16.
- •Тема 16. Кросплатформне програмування для Linux.
- •1. Проект clx. Об’єктна концепція кросплатформного програмування. Бібліотека компонент clx. Подібність та різність візуальних компонент clx і vcl.
- •На рівні мови програмування.
- •На рівні прикладних програм.
- •Компонента модель .Net Framework. Типи компонентів.
- •Динамічна бібліотека dll як приклад компонента.
2. Взаємозв’язки об’єктів, класів. Поля та методи класів. Статичні, динамічні методи. Класи. Об’ява класу. Модель вказників. Методи. Події та вказники на методи.
Класом в ООП називається деяка структура, що поєднує у своєму складі змінні та процедури (функції). Змінні, залежно від свого призначення, називаються полями (field) і властивостями (property).
Процедури й функції називаються методами (methods). Будь-який метод працює тільки зі змінними, які визначені усередині класу та з параметрами, що передаються методу.
Складові класу (змінні та процедури) називаються членами класу (members).
Інакше кажучи, клас - це деяка абстракція. У ньому ніколи не задаються конкретні значення всіх полів і властивостей. Навіть методи в деяких випадках можуть не мати ні одного рядка програмного коду.
Призначення класу - бути шаблоном (зразком) для створення об'єктів цього класу, тобто таких же структур, як і сам клас, але вже з конкретними значеннями всіх членів класу.
Інакше кажучи, об'єкт - це точно така ж структура, як і клас, але у якій визначені конкретні значення всіх його членів.
3. Три групи методів. Інкапсуляція. Спадковість. Поліформізм. Конструктори і деструктори.
Основні принципи ООП (інкапсуляція, спадкоємство, поліморфізм, створення класів і об’єктів).
Інкапсуляція – це об'єднання в єдиному об'єкті даних і кодів, які оперують із цими даними. У термінології ООП дані називаються членами даних (data members) об'єкту, а коди - об'єктними методами або функціями-членами (methods, member functions).
Інкапсуляція дозволяє в максимальному ступені ізолювати об'єкт від зовнішнього оточення. Вона істотно підвищує надійність програм, які розробляються, оскільки локалізовані в об'єкті функції обмінюються із програмою порівняно невеликими обсягами даних, причому кількість і тип цих даних як звичайно ретельно контролюються.
У результаті заміна або модифікація функцій і даних, інкапсульованих в об'єкт, як правило, не спричиняє наслідків, які погано простежуються, для програми в цілому (з метою підвищення захищеності програм в ООП майже не використовуються глобальні змінні).
Іншим важливим наслідком інкапсуляції є легкість обміну об'єктами, перенесення їх з однієї програми в іншу.
Простота й доступність принципу інкапсуляції ООП стимулює програмістів до розширення Бібліотеки Візуальних Компонентів, що входить до складу C++ Builder.
Спадкування дозволяє, практично без обмежень, послідовно будувати й розширювати класи, створені вами або кимсь ще. Починаючи з найпростіших класів, можна створювати похідні класи зростаючої складності, які не тільки легені в налагодженні, але й прості відповідно до внутрішньої структури.
Послідовне проведення в життя принципу спадкування, особливо при розробці великих програмних проектів, добре погоджує з технікою спадного структурного програмування (від загального до частки), і багато в чому стимулює такий підхід. При цьому складність кодів програми в цілому істотно скорочується.
Похідний клас (нащадок) успадковує всі властивості, методи й події свого базового класу (батька) і всіх його попередників в ієрархії класів. При спадкуванні базовий клас обростає новими атрибутами й операціями.
У похідному класі як звичайно оголошуються нові члени даних, властивості й методи. При роботі з об'єктами програміст як звичайно підбирає найбільш відповідний клас для рішення конкретного завдання й створює одного або декількох нащадків від нього, які здобувають здатність робити не тільки те, що закладене в батьку.
Дружні функції дозволяють похідному класу дістати доступ до всіх членів даних зовнішніх класів.
Крім того, похідний клас може перенавантажувати (overload) успадковані методи в тому випадку, коли їхня робота в базовому класі не пасує нащадкові. Використання перевантаження в ООП усіляко заохочується, хоча, у прямому розумінні значення цього слова, перевантажень як звичайно уникають.
Говорять, що метод перевантажений, якщо він асоціюється з більш ніж однією однойменною функцією.
Зверніть увагу, що механізм викликів перевантажених методів в ієрархії класів повністю відрізняється від викликів певних функцій.
Перевантаження й перевизначення - це різні поняття.
Віртуальні методи використовуються для перевизначення функцій базового класу.
