Головна

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

  1. Завдання на іспит з МДК Прикладне програмування.
  2. МАТЕМАТИЧНЕ ТА ЛІНІЙНЕ ПРОГРАМУВАННЯ.
  3. Об'єктно-орієнтоване програмування
  4. Програмування добробуту.
  5. ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ СТРУКТУР
  6. програмування таблиці

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

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

Саме в такому вигляді в мовах програмування і реалізовано поняття об'єкта як сукупності властивостей (Структур даних, характерних для цього об'єкта), методів їх обробки (підпрограм зміни властивостей) і подій, На які даний об'єкт може реагувати і які призводять, як правило, до зміни властивостей об'єкта.

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

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

В об'єктно-орієнтованому програмуванні (ООП) використовуються наступні базові поняття:

об'єкт - Сукупність властивостей (параметрів) визначених сутностей і методів їх обробки (програмних засобів). Тобто об'єкт здатний як зберігати інформацію, так і перетворювати. Практично все може бути представлено об'єктом, і дуже часто одні об'єкти складаються з інших. Наведемо приклади стандартних об'єктів віконного інтерфейсу: форми, вкладки, написи, текстові поля, кнопки та ін.

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

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

Об'єкти можуть об'єднуватися в класи (Групи, набори, колекції - в різних програмних системах можлива інша термінологія). клас - Сукупність об'єктів, що характеризуються спільністю застосовуваних методів обробки або властивостей. По суті, клас є опис структури даних, в яку включено опис методів. Клас є шаблон, на основі якого може бути створений конкретний програмний об'єкт - екземпляр. Оголошення класу є логічна абстракція, яка визначає новий тип об'єкту, а визначення об'єкта як екземпляра класу створює цей об'єкт фізично, т. Е. Розміщує об'єкт в пам'яті.

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

Формат запису для роботи з об'єктами наступний: імя_об'екта. імя_Метода; або імя_об'екта. імя_Свойства. При цьому виклик методу по суті аналогічний викликом процедури, а робота з властивостями об'єктів практично не відрізняється від роботи зі змінними, однак окремі властивості (наприклад, ім'я об'єкта) можуть бути доступні тільки для читання.

Відзначимо, що ми вже познайомилися з деякими можливостями ООП в середовищі VBA. Так, в розглянутих раніше прикладах 2 і 3 за допомогою властивості .Value текстового поля здійснювався і введення, і висновок даних. А в прикладах 4 і 5 використовувався метод .AddItem для виведення текстових рядків в поле списку.

Один об'єкт може виступати об'єднанням вкладених в нього по ієрархії інших об'єктів. І це може відображатися в тексті програми перерахуванням вкладених об'єктів через точку. Наприклад, наступний фрагмент програми задає колір форми «білий», а розташованої на ній кнопці - «чорний»:

Форма. колір = "білий"

Форма. кнопка. колір = "чорний"

Існують різні об'єктно-орієнтовані технології та методики проектування програмних продуктів, які грунтуються на наступних принципах ООП - «китах»:

- інкапсуляція (Вбудовування, приховування);

- успадкування (Ієрархія, агрегація);

- поліморфізм (Мінливість).

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

спадкування дозволяє створювати на основі існуючих класів нові - підкласи. При побудові підкласів здійснюється успадкування даних і методів обробки об'єктів вихідного батьківського класу. Механізм успадкування дозволяє перевизначити або додати нові дані і методи їх обробки, створити ієрархію класів.

поліморфізм (Від грец. «Багатоликість») - здатність об'єкта реагувати на запит (виклик методу) відповідно до свого типу, при цьому одне і те ж ім'я методу може використовуватися для різних класів об'єктів.

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

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

компонентне програмування * Являє собою розвиток об'єктно-орієнтованої технології. На відміну від ООП введено наступний рівень абстракції, на якому класи об'єднуються в компоненти. компонент - Програмний код у вигляді самостійного модуля, який може бути використаний в незмінному вигляді, має поведінкою (функціональністю) і може допускати настройку.

Основний принцип компонентного програмування - збірка додатки з готових компонентів, в загальному випадку написаних на різних мовах. Компонентна програма - сукупність незалежних компонентів, пов'язаних один з одним за допомогою інтерфейсів.

Питання і тестові завдання для самоконтролю

1. Що таке методологія програмування?

2. Що таке технології програмування?

3. Поняття «ієрархія класів» притаманне методології ___ програмування.

1) об'єктно-орієнтованого

2) структурного

3) динамічного

4) евристичного

4. Помилка «пропущено двокрапку» при трансляції може бути виявлена ??на етапі ...

1) лексичного аналізу

2) філологічного аналізу

3) семантичного аналізу

4) синтаксичного аналізу

5. Програма - це

1) протокол взаємодії компонентів комп'ютерної мережі

2) набір команд операційної системи комп'ютера

3) алгоритм, записаний на мові програмування

4) закінчене мінімальне смислове вираження на мові програмування ¤

6. Який підхід в програмуванні називається структурним?

1) підхід, орієнтований на безпосередньо виконувані комп'ютером операції

2) підхід, неорієнтований на безпосередньо виконувані комп'ютером операції

3) підхід, орієнтований на те, що окремі групи операторів можуть об'єднуватися у допоміжні алгоритми

4) підхід, орієнтований на те, що логічна структура програми може бути виражена комбінацією 3-х базових структур - слідування, розгалуження, циклу ¤

7. Модульна структура програми відображає одну з особливостей ___ програмування

1) евристичного

2) структурного ¤

3) логічного

4) динамічного

8. При розробці модульних програм застосовуються два методи проектування:

1) Спадний і висхідний

2) Модульне і структурне

3) Паралельне і послідовне

4) Модульне і об'єктно-орієнтоване

5) Структурний і об'єктно-орієнтоване

9.. в чому полягає «спадний проектування» програм?

1) спочатку розробляється головний модуль, потім інші модулі

2) спочатку розробляються модулі найнижчого рівня

3) на завершальному етапі проектування розробляється головний модуль

4) спочатку вирішується підзадачі, потім глобальне завдання

5) спочатку розробляється інтерфейс програми, потім модулі

10.. об'єктно-орієнтований підхід до програмування використовує такі базові поняття

а) інструкції, б) Дані, в) модель, г) об'єкт, д) властивість, е) метод обробки, ж) подія, з) клас об'єктів

1) а, д,

2) д, е, ж, з

3) а, д

4) г, е, ж, з, д ¤

11. Яка технологія програмування з'явилася пізніше?

1) Об'єктно-орієнтована

2) Структурна

3) Модульна

4) Процедурна

5) Ієрархічна

12. Основні технології програмування - це:

1) модульне програмування, структурне програмування, об'єктно-орієнтоване програмування.

2) модульне програмування, циклічне програмування, об'єктно-орієнтоване програмування.

3) модульне програмування, структурне програмування, мережеве програмування.

4) модульне програмування, структурне програмування, паралельне програмування.

13. Підпрограми бувають наступних типів?

1) процедури і функції

2) рекурсивні і динамічні

3) функції і модулі

4) процедури і цикли

5) структуровані та неструктуровані

повернутися до змісту

Структурний і модульне програмування | Рівні мов програмування


Структура інформації в інформаційних системах | Основи класифікації інформації | кодування інформації | ОСНОВИ ПРОГРАМУВАННЯ НА МОВИ ВИСОКОГО РІВНЯ | Опис змінних в різних мовах | Основні оператори | Приклади використання оператора присвоювання | Короткі відомості про математичні функції в VBA і Паскалі | Функції перетворення даних | концепція програмування |

© 2016-2022  um.co.ua - учбові матеріали та реферати