Ще Платон розрізняв три світи: світ речей, який постійно змінюється, світ ідей (ейдосів)— вічний та незмінний і, у проміжку між ними — математичні об'єкти. https://itc.ua/articles/oop_i_uml_korotko_i_bez_mifov_7431/




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


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

  • З яких частин складається система
  • У чому полягає відповідальність кожної з частин

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


Прототип - це об'єкт-зразок, за образом і подобою якого створюються інші об'єкти. 


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


Клас - об'єкти з подібною поведінкою (абстрактний тип даних)


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


Спадкування - опис нового класу на основі вже існуючого з частково або повністю позиченою функціональністю 


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




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

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


Фрагмент коду ООП програми

Докладніше про патерни проектування можна прочитати за посиланням https://sites.google.com/site/designpatternseasy/ а також http://lib.chdu.edu.ua/pdf/metodser/190/5.pdf

Остання зміна: Понеділок 21 грудня 2020 07:58 AM