ючим поведінку об'єкта реального світу. Поняття об'єкт вперше було використано близько 30 років тому в технічних засобах при спробах відійти від традиційної архітектури фон Неймана і подолати бар'єр між високим рівнем програмних абстракцій і низьким рівнем абстрагування на рівні комп'ютерів. З об'єктно-орієнтованою архітектурою також тісно пов'язані об'єктно-орієнтовані операційні системи. Однак найбільш значний внесок у об'єктний підхід був внесений об'єктними та об'єктно-орієнтованими мовами програмування: Simula, Smalltalk, C ++, Object Pascal. На об'єктний підхід вплинули також развивавшиеся досить незалежно методи моделювання баз даних, особливо підхід сутність-зв'язок .
Концептуальною основою об'єктно-орієнтованого підходу є об'єктна модель. Основними се елементами є:
абстрагування (abstraction);
інкапсуляція (encapsulation);
модульність (modularity);
ієрархія (hierarchy).
Крім основних є ще три додаткових елементи, які не є на відміну від основних строго обов'язковими:
типізація (typing),
паралелізм (concurrency),
стійкість (persistence).
Абстрагування - це виділення істотних характеристик деякого об'єкта, які відрізняють його від усіх інших видів об'єктів і, таким чином, чітко визначають його концептуальні межі щодо подальшого розгляду та аналізу. Абстрагування концентрує увагу на зовнішніх особливостях об'єкта і дозволяє відокремити найістотніші особливості його поведінки від деталей їх реалізації. Вибір правильного набору абстракцій для заданої предметної області являє собою головне завдання об'єктно-орієнтованого проектування.
Інкапсуляція - це процес відділення один від одного окремих елементів об'єкта, що визначають його пристрій і поведінку. Інкапсуляція служить для того, щоб ізолювати інтерфейс об'єкта, що відображає його зовнішнє поводження, від внутрішньої реалізації об'єкта. Об'єктний підхід передбачає, що власні ресурси, якими можуть маніпулювати тільки методи самого класу, приховані від зовнішнього середовища. Абстрагування і інкапсуляція є взаємодоповнюючими операціями: абстрагування фокусує увагу на зовнішніх особливостях об'єкта, а інкапсуляція (або, інакше, обмеження доступу) не дозволяє об'єктам-користувачам розрізняти внутрішній устрій об'єкта.
Модульність - це властивість системи, пов'язане з можливістю її декомпозиції на ряд внутрішньо зв'язкових, але слабко пов'язаних між собою модулів. Інкапсуляція і модульність створюють бар'єри між абстракціями.
Ієрархія - це ранжируваних або впорядкована система абстракцій, розташування їх за рівнями. Основними видами ієрархічних структур стосовно до складних систем є структура класів (ієрархія по номенклатурі) і структура об'єктів (ієрархія по складу). Прикладами ієрархії класів є просте і множинне спадкування (один клас використовує структурну або функціональну частину відповідно одного або декількох інших класів), а ієрархії об'єктів - агрегація.
Типізація - це обмеження, що накладається на клас об'єктів і перешкоджає взаємозамінності різних класів (або сильно звужуюче її можливість). Типізація дозволяє захиститися від використання об'єктів одного класу замість іншого або принаймні управляти таким використанням.
Паралелізм - властивість об'єктів знаходитися в активному або пасивному стані і розрізняти активні і пасивні об'єкти між собою.
Стійкість - властивість об'єкта існувати але часу (незалежно від процесу, що народив даний об'єкт) та/або в просторі (при переміщенні об'єкта з адресного простору, в якому він був створений).
1.2 Основні поняття об'єктно-орієнтованого підходу
Об'єкт визначається як відчутна реальність (tangible entity) - предмет або явище, що мають чітко визначається поведінку. Об'єкт має статки, поведінкою і індивідуальністю; структура і поведінка схожих об'єктів визначають загальний для них клас. Терміни екземпляр класу і" об'єкт є еквівалентними. Стан об'єкта характеризується переліком всіх можливих (статичних) властивостей даного об'єкту і поточними значеннями (динамічними) кожного з цих властивостей. Поведінка характеризує вплив об'єкта на інші об'єкти і навпаки щодо зміни стану цих об'єктів та передачі повідомлень. Інакше кажучи, поведінка об'єкта повністю визначається його діями. Індивідуальність - це властивості об'єкта, що відрізняють його від усіх інших об'єктів.
Певний вплив одного об'єкта на інший з метою викликати відповідну реакцію називається операцією. Як правило, в об'єктних і об'єктно-орієнтованих мовах операції, що виконуються над даним об'єктом, називаються ...