дигму, є найбільшим по відношенню до інших парадигм. В області системного програмування досі застосовується парадигма процедурного програмування, і загальноприйнятою мовою програмування є мова C. Хоча при взаємодії системного та прикладного рівнів операційних систем помітний вплив стали надавати мови об'єктно-орієнтованого програмування. br/>
1.2 Визначення ООП і його основні концепції
програма об'єктний технічний
Поява в ООП окремого поняття класу закономірно випливає з бажання мати безліч об'єктів з подібним поведінкою. Клас в ООП - це в чистому вигляді абстрактний тип даних, створюваний програмістом. З цієї точки зору об'єкти є значеннями даного абстрактного типу, а визначення класу задає внутрішню структуру значень і набір операцій, які над цими значеннями можуть бути виконані. Бажаність ієрархії класів (а значить, успадкування) випливає з вимог до повторного використання коду - якщо кілька класів мають подібну поведінку, немає сенсу дублювати їх опис, краще виділити загальну частину в загальний батьківський клас, а в описі самих цих класів залишити тільки розрізняються елементи.
Необхідність спільного використання об'єктів різних класів, здатних обробляти однотипні повідомлення, вимагає підтримки поліморфізму - можливості записувати різні об'єкти в змінні одного і того ж типу. У таких умовах об'єкт, відправляючи повідомлення, може не знати в точності, до якого класу належить адресат, і одні й ті ж повідомлення, відправлені змінним одного типу, що містить об'єкти різних класів, викличуть різну реакцію. p align="justify"> Окремої пояснення потребує поняття обміну повідомленнями. Спочатку (наприклад, в тому ж Smalltalk) взаємодія об'єктів уявлялося як В«справжнійВ» обмін повідомленнями, тобто пересилання від одного об'єкта іншому спеціального об'єкта-повідомлення. Така модель є надзвичайно загальною. Вона прекрасно підходить, наприклад, для опису паралельних обчислень за допомогою активних об'єктів , кожен з яких має власний потік виконання і працює одночасно з іншими. Такі об'єкти можуть вести себе як окремі, абсолютно автономні обчислювальні одиниці. Посилка повідомлень природним чином вирішує питання обробки повідомлень об'єктами, присвоєними поліморфним змінним - незалежно від того, як оголошується змінна, повідомлення обробляє код класу, до якого належить присвоєний змінної об'єкт.
Однак спільність механізму обміну повідомленнями має й інший бік - В«повноціннаВ» передача повідомлень вимагає додаткових накладних витрат, що не завжди прийнятно. Тому в більшості нині існуючих об'єктно-орієнтованих мов програмування використовується концепція В«відправка повідомлення як виклик методуВ» - об'єкти мають доступні ззовні методи, викликами яких і забезпечується взаємодія об'є...