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