Технологія ООП

 Технологія ООП та її переваги

З розвитком обчислювальної техніки і ускладненні вирішуваних задач виникали різні мови і моделі програмування. Перші компілятори (до них перш за все належить компілятор мови FORTRAN) підтримували процедурну модель програмування, в основі якої лежить використання функцій та процедур. Використовуючи процедурну модель програмування, програмісти могли писати програми довжиною до декількох тисяч рядків.

Наступний етап в розвитку програмування був пов'язаний з переходом до структурної моделі програмування (реалізованої в компіляторах мов ALGOL, Pascal і С). В структурному програмуванні програма розробляється у вигляді сукупності взаємозв'язаних процедур або блоків і тих даних, якими ці процедури або блоки оперують. При цьому широко використовують програмні блоки і допускається лише мінімальне використання операторів goto. Розробка таких програм набагато простіша, ніж розробка процедурно-орієнтованих. Використовуючи структурне програмування, програміст може створювати програми довжиною до декількох десятків тисяч рядків. Для написання більш складних задач потрібен був новий підхід до програмування, який і був реалізований у моделі ООП.

Модель ООП базується на декількох основоположних принципах:

  • Абстракція даних - це можливість визначати нові типи даних, з якими можна працювати майже так само, як із основними. Такі типи даних часто називають абстрактними типами даних, хоча термін "типи даних, визначені користувачем" є більш коректним.
  • Інкапсуляція - це механізм, який об'єднує дані і код, що маніпулює цими даними, а також захищає їх (і дані, і код) від зовнішнього втручання.
  • Наслідування - це принцип ООП, завдяки якому один об'єкт може набувати властивостей іншого. Фактично він означає: якщо ви хочете створити новий клас, який мало в чому відрізняється від існуючого, то зовсім немає необхідності у переписуванні заново вже існуючих полів і методів, натомість ви оголошуєте новий клас потомком (дочірнім класом) старого класу, який називається предком (батьківським класом) і додаєте до нього нові поля, методи, а в Delphi - ще й властивості.
  • Поліморфізм - це властивість коду вести себе по-різному в залежності від ситуації, що виникла в момент виконання. Поліморфізм - це характеристика функцій-членів класу (методів), яка проявляється можливості використання одного імені функції-члена (методу) для функцій, які мають різні типи аргументів і відповідно можуть виконувати різні дії.

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