What is ООП? Які переваги об'єктно-орієнтованого програмування?
Читайте нашу статтю та отримуйте відповіді на запитання!
Student_Rostik_Laba
Об’єктно-орієнтоване програмування (ООП) - одна з парадигм програмування, яка розглядає програму як множину “об’єктів”, що взаємодіють між собою. В ній використано декілька технологій від попередніх парадигм, зокрема успадкування, модульність, поліморфізм та інкапсуляцію. Незважаючи на те, що ця парадигма з’явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих.

Об’єктно-орієнтовані мови програмування:
класичні: Simula 67, Smalltalk, Actor, Eiffel, Objective C;
сучасні: C++, Object Pascal, Java, C#.

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

На думку Алана Кея, розробника мови Smalltalk, якого вважають одним з “батьків-засновників” ООП, об’єктно-орієнтований підхід полягає в наступному наборі основних принципів:

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

Таким чином, програма являє собою набір об’єктів, що мають стан та поведінку. Об’єкти взаємодіють використовуючи повідомлення. Будується ієрархія об’єктів: програма в цілому — це об’єкт, для виконання своїх функцій вона звертається до об’єктів що містяться у ньому, які у свою чергу виконують запит шляхом звернення до інших об’єктів програми. Звісно, щоб уникнути безкінечної рекурсії у зверненнях, на якомусь етапі об’єкт трансформує запит у повідомлення до стандартних системних об’єктів, що даються мовою та середовищем програмування. Стійкість та керованість системи забезпечуються за рахунок чіткого розподілення відповідальності об’єктів (за кожну дію відповідає певний об’єкт), однозначного означення інтерфейсів міжоб’єктної взаємодії та повної ізольованості внутрішньої структури об’єкта від зовнішнього середовища (інкапсуляції).

Сподобалась стаття? Оціни її!
Отримуйте корисну інформацію першими!

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