Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECTIONS_TPSPP!!!.doc
Скачиваний:
21
Добавлен:
16.12.2018
Размер:
1.41 Mб
Скачать

Переваги ооп

Від будь-якої методики розробки програмного забезпечення ми чекаємо, що вона допоможе нам у вирішенні наших завдань. Але однією з найбільш значних проблем проектування є складність. Чим більша і складніша програмна система, тим важливіше розбити її на невеликі, чітко окреслені частини. Щоб впоратися зі складністю, необхідно абстрагуватися від деталей. У цьому сенсі класи являють собою дуже зручний інструмент.

Класи дозволяють проводити конструювання з корисних компонентів, що володіють простими інструментами, що дозволяє абстрагуватися від деталей реалізації.

Дані та операції над ними утворюють певну сутність, і вони не розносяться по всій програмі, як нерідко буває у випадку процедурного програмування, а описуються разом. Локалізація коду і даних покращує наочність і зручність супроводу програмного забезпечення.

Інкапсуляція дозволяє привнести властивість модульності, що полегшує розпаралелювання виконання завдання між кількома виконавцями і оновлення версій окремих компонентів.

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

Поліморфізм виявляється корисним переважно в наступних ситуаціях.

  • Обробка різнорідних структур даних. Програми можуть працювати, не розрізняючи виду об'єктів, що істотно спрощує код. Нові види можуть бути додані в будь-який момент.

  • Зміна поведінки під час виконання. На етапі виконання один об'єкт може бути замінений іншим, що дозволяє легко, без зміни коду, адаптувати алгоритм у залежності від того, який використовується об'єкт.

  • Реалізація роботи із спадкоємцями. Алгоритми можна узагальнити настільки, що вони вже зможуть працювати більш ніж з одним видом об'єктів.

  • Створення "каркасу" (framework). Незалежні від програми частини предметної області можуть бути реалізовані у вигляді набору універсальних класів, або каркаса (framework), і надалі розширені за рахунок додавання частин, специфічних для конкретного застосування.

Часто багаторазового використання програмного забезпечення не вдається домогтися через те, що існуючі компоненти вже не відповідають новим вимогам. ООП допомагає цього досягти без порушення роботи вже наявних компонентів, що дозволяє витягти максимум з багаторазового використання компонентів.

  • Скорочується час на розробку, який може бути віддано іншим завданням.

  • Компоненти багаторазового використання звичайно містять набагато менше помилок, ніж знову розроблені, адже вони вже не раз піддавалися перевірці.

  • Коли якийсь компонент використовується відразу декількома клієнтами, поліпшення, що вносяться до його код, одночасно надають позитивний вплив і на безліч працюючих з ним програм.

  • Якщо програма спирається на стандартні компоненти, її структура і призначений для користувача інтерфейс стають більш уніфікованими, що полегшує її розуміння і спрощує використання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]