Концепції об'єктно-орієнтованого програмування

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

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

Основним поняттям в ООП є об'єкт або клас, який можна розглядати з двох позицій. По-перше, з позиції предметної області: клас відповідає визначеному характерному (типовому) об'єкту цієї області. По- друге, з позиції технології програмування: клас в ООП - це певна програмна структура, котра має три важливі властивості:

  • інкапсуляція;
  • наслідування;
  • поліморфізм.