Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 1.Вступ до ООП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
100.82 Кб
Скачать

7

Дисципліна: Об’єктно-орієнтоване програмування (ооп) Лекція 1. Вступ до ооп

План

1. Від процедурного програмування до об’єктного

1.1.Структурне програмування

1.2. Модульне програмування

1.3 Програмування, кероване подіями

2. Об’єктно-орієнтоване програмування

3 Чисто об'єктно-орієнтовані і гібридні мови програмування

1. Від процедурного програмування до об’єктного

1.1. Структурне програмування

Об’єктно-орієнтоване програмування з’явилося в середині 90-х років 20-століття у результаті довгої еволюції технології розробки програмних продуктів. В основу еволюції покладене прагнення прискорити процес створення надійних програмних засобів.

На протязі усіх років існування практика програмування вимагала удосконалення технологічних прийомів та створення на їх основі таких засобів програмування, які б спростили процес розробки програм, тим саме дозволяючи створення все більш складних програмних систем.

Перші програми були організовані дуже просто. Вони складалися з програми на машинній мові. Складність програм обмежувалась можливістю програміста одночасно відслідковувати виконувані команди та місцезнаходження великої кількості даних.

Створення спочатку асемблера, а потім і мов високого рівня зробили програму більш доступною за рахунок зниження рівня деталізації і дозволило збільшити її складність.

Поява у мовах засобів, які дозволяли оперувати підпрограмами, суттєво знизило трудомісткість розробки програм. Підпрограми можна було зберігати та використовувати у інших програмах. У результаті були накопичені величезні бібліотеки розрахункових та службових підпрограм, які при необхідності викликалися з основної програми. Типова програма того часу складалася з основної програми, області глобальних даних та набору підпрограм, які виконували обробку усіх даних (рис.1.1).

Основна програма

1

2

n

Область даних

Підпрограми

Рис.1.1.Архітектура програми, яка використовує глобальну область даних

Слабким місцем такої архітектури було те, що коли збільшувалась кількість підпрограм зростала вірогідність того, що одна з підпрограм могла змінити частину глобальних даних.

Необхідність виключення таких помилок призвела до ідеї використання у підпрограмі локальних даних (рис.1.2).

Основна програма

Область даних

1

2

n

. . .

Підпрограми

Рис.1.2.Архітектура програми, яка використовує підпрограми з локальною областю даних

Наступним кроком розвитку технології програмування стала технологія структурного програмування.

Структурне програмування — це технологія створення програм, що дозволяє шляхом дотримання певних правил скоротити час розробки і зменшити кількість помилок, а також полегшити можливість модифікації програми.

Теоретично доведено (незалежно Дейкстрой і Глушковим В.М.), що будь-який алгоритм можна реалізувати лише з трьох структур, які називаються базовими конструкціями структурного програмування: це послідовність, розгалуження і цикл.

Послідовністю називається конструкція, що реалізовує послідовне виконання двох або більше операторів (простих або складних).

Розгалуження задає виконання того чи іншого оператора залежно від виконання якої-небудь умови. Реалізується за допомогою операторів if та switch.

Цикл реалізує багатократне виконання операторів. Реалізується за допомогою операторів циклу.

Рис. 1.3. Базові конструкції структурного програмування

Особливістю базових конструкцій є те, що будь-яка з них має лише один вхід і один вихід, тому конструкції можуть вкладатися одна в одну довільним чином, наприклад, цикл може містити вихід з двох розгалужень, кожне з яких включає вкладені цикли.

Метою використання базових конструкцій є спрощення структури програми. Таку програму легко читати, відлагоджувати і, при необхідності, вносити до неї зміни. У більшості мов високого рівня існує декілька реалізацій базових конструкцій;

Обмеження - скорочення (або заборона) використання оператора goto; одна точка входу в секцію (блок), але декілька можливих точок виходу. Структурне програмування часто асоціюється з розробкою «зверху-вниз».

Були сформовані основні принципи виконання розробки:

  • принцип низхідної розробки, який рекомендує на всіх етапах спочатку визначити найбільш загальні моменти, а потім поетапно виконувати деталізацію;

  • принцип наскрізного структурного контролю, який припускає проведення змістовного контролю усіх етапів розробки.

В основі структурного програмування лежить декомпозиція (розділення на частини) складних систем з наступною реалізацією у вигляді окремих невеликих (до 40 … 50 операторів) підпрограм.

Підтримка принципів структурного програмування була закладена у основу процедурних мов програмування. Зазвичай, вони включали основні «структурні» оператори керування, підтримували вкладенні підпрограм, локалізацію та обмеження області «видимості» даних. Серед найбільш відомих мов цієї групи можна назвати PL/1, ALGOL – 68, Pascal, C.

Подальше зростання складності та розмірів програмного забезпечення вимагало розвитку структурування даних. У мовах програмування з’явилася можливість користувачу визначати тип даних. Одночасно виникає потреба розмежувати доступ до глобальних даних програми, щоб зменшити кількість помилок. Результатом була поява та розвиток технології модульного програмування.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]