Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shporka EK.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.38 Mб
Скачать

  1. Передумови та історія виникнення об’єктно-орієнтованого підходу до створення програних систем.

Об'є́ктно-орієнто́ване програмува́ння (ООП) — одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Основу ООП складають три основні концепції: інкапсуляція, успадкування та поліморфізм. Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих, коли розвиток комп'ютерів та комп'ютерних мереж дозволив писати надзвичайно об'ємне і складне програмне забезпечення, що змусило переглянути підходи до написання програм.

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

ООП виникло в результаті розвитку ідеології процедурного програмування, де дані і підпрограми (процедури, функції) їх обробки формально не пов'язані.

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

  1. Основні положення об’єктної моделі. Класи та об’єкти.

Основні положення об'єктної моделі:

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

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

Головним причинами складності ПЗ вважаються:

складність предметної області, для якої розробляється ПЗ;

складність управління процесом розробки ПЗ;

необхідність забезпечення достатньої гнучкості ПЗ;

недосконалі способи опису великих дискретних систем.

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

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

програмування (ООП) -це методологія

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

екземпляром певногокласу.

Особливості ООП у порівнянні зі структурним підходом

ООП використовує у якості базових елементів об'єкти, а не алгоритми

Кожен об'єкт є екземпляром певного класу

Класи організовані ієрархічно.

Об'єктно-орієнтоване програмування є частиною ОО-підходу

Послідовність виконання проекту з розробки ПЗ складає: 00-аналіз -> ОО-проектування -> ОО-програмування

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

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

Клас - це деяка множина об’єктів, що мають загальну структуру та загальну поведінку

Класи формуються в процесі ОО-декомпозиції і є певними абстракціями, які визначають певну поведінку, однак приховують деталі реалізації

Ідея контрактного програмування полягає у стратегії: “великі задачі розділити на багато маленьких і поручити їх дрібним субпідрядникам”

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