Структурне програмування та об’єктно-орієнтоване програмування
Об'єктно-орієнтоване програмування (ООП) та структуроване програмування - це дві парадигми програмування. Парадигма програмування - це фундаментальний стиль комп'ютерного програмування. Парадигми програмування відрізняються тим, як представлений кожен елемент програм і як визначаються кроки для вирішення завдань. Як випливає з назви, OOP зосереджується на представленні проблем із використанням об'єктів реального світу та їх поведінки, тоді як Структурне програмування стосується організації програми в логічну структуру.
Що таке структуроване програмування?
Передбачається, що рік народження Структурного програмування - 1970. Структуроване програмування вважається підмножиною імперативного програмування. Структурована програма складається з простих структурних потоків програм, які є ієрархічно організованими. Вони є послідовністю, відбором і повторенням. Послідовність - це порядок висловлювань. Вибір означає вибір оператора з набору операторів на основі поточного стану програми (наприклад, використання if операцій) і повторення означає виконання оператора, поки не буде досягнуто певного стану (наприклад, використання для або під час операторів). ALGOL, Pascal, Ada та PL / I - це деякі структуровані мови програмування, які використовуються сьогодні.
Що таке об’єктно-орієнтоване програмування?
В ООП основна увага приділяється роздуму над проблемою, яку слід вирішити з точки зору елементів реального світу, і представляє проблему з точки зору об'єктів та їх поведінки. На заняттях зображено абстрактні зображення об’єктів реального світу. Класи схожі на креслення або шаблони, які збирають подібні предмети або речі, які можна згрупувати. Класи мають властивості, звані атрибутами. Атрибути реалізовані як глобальні та екземпляри. Методи в класах представляють або визначають поведінку цих класів. Методи та атрибути класів називаються членами класу. Екземпляр класу називається об'єктом. Тому об’єкт - це структура даних, яка дуже нагадує якийсь об'єкт реального світу.
Існує кілька важливих концепцій OOP, таких як абстракція даних, інкапсуляція, поліморфізм, обмін повідомленнями, модульність та успадкування. Як правило, інкапсуляція досягається шляхом атрибутів приватними, створюючи загальнодоступні методи, які можуть бути використані для доступу до цих атрибутів. Спадкування дозволяє користувачеві розширювати класи (звані підкласи) з інших класів (звані суперкласи). Поліморфізм дозволяє програмісту замінити об’єкт класу замість об’єкта його суперкласу. Як правило, іменники, знайдені у визначенні проблеми, безпосередньо стають класами програми. І аналогічно дієслова стають методами. Деякі з найпопулярніших мов OOP - Java та C #.
Яка різниця між Структурним програмуванням та Об'єктно-орієнтованим програмуванням?
Ключова відмінність Структурного програмування від ООП полягає в тому, що фокус Структурного програмування полягає в структуруванні програми в ієрархію підпрограм, тоді як ООП полягає в розбитті завдання програмування на об'єкти, які інкапсулюють дані та методи. OOP вважається більш гнучким, ніж структуроване програмування, оскільки OOP відокремлює програму в мережі підсистем, а не структурує програму в ієрархію. Незважаючи на те, що структурування забезпечує певну чіткість, невелика зміна дуже великої структурованої програми може спричинити пульсаційний ефект від необхідності зміни декількох підпрограм.