Основні поняття об’єктно-орієнтованого програмування
Поняттю “об’єкт” зіставляють ряд доповнюючих один одного визначень:
· це сукупність змінних стану і пов’язаних з ними методів (операцій). Ці методи визначають як об’єкт взаємодіє з оточуючим його світом;
· це конкретна реалізація, екземпляр класу. У програмуванні відносини об’єкта і класу можна порівняти з описом змінної, де сама змінна (об’єкт) є екземпляром якого-небудь типу даних (класу);
· це відчутна реальність, що характеризується чітко визначеною поведінкою;
· особливий упізнаваний предмет, блок або сутність (реальний чи абстрактний), що має важливе функціональне призначення в даній предметній області.
Є й інша класифікація методів об’єкта, коли виділяють функції управління, реалізації, доступу та допоміжні функції. Індивідуальність об’єкта – це властивість об’єкта, що відрізняє цей об’єкт від усіх інших об’єктів. Об’єкти можуть перебувати в певних відносинах один до одного, відносини можуть бути ієрархічними. Основні ієрархічні відносини називають відносини використання та включення.
Основні властивості об’єктів:
Зазвичай вважається, що без інкапсуляції неможливо уявити собі об’єктно-орієнтоване програмування. Інкапсуляція це здатність об’єктів скривати деякі способи обробки даних (методи) та самі дані від навколишнього цифрового середовища. Історія розвитку методологій програмування спонукувана боротьбою зі складністю розробки програмного забезпечення. Складність великих програмних систем, у створенні яких бере участь відразу велика кількість розробників, зменшується, якщо на верхньому рівні не видно деталей реалізації нижніх рівнів. Власне, процедурний підхід був першим кроком на цьому шляху. Під інкапсуляцією (encapsulation, що можна перекласти по-різному, але на потрібні асоціації добре наводить слово “обволікання”) розуміється приховування інформації про внутрішній устрій об’єкта, при якому робота з об’єктом може вестися тільки через його загальнодоступний (public) інтерфейс. Або це механізм програмування, об’єднуючий разом код і дані, якими він маніпулює, виключаючи як втручання ззовні, так і неправильне використання даних. В об’єктно-орієнтованій мові програмування дані і код можуть бути об’єднані в абсолютно автономний чорний ящик. Усередині такого ящика знаходяться всі необхідні дані і код. Коли код і дані зв’язуються разом подібним чином, створюється об’єкт. Іншими словами, об’єкт – це елемент, що підтримує інкапсуляцію.
Поліморфізм – також одна з трьох основних парадигм ООП. Якщо говорити коротко, поліморфізм – це здатність об’єкта використовувати методи похідного класу, який не існує на момент створення базового. Слово «поліморфізм» можна перекласти як «багато форм». Тобто це можливість використання одного і того ж імені операції або методу до об’єктів різних класів, при цьому дії, що здійснюються з об’єктами, можуть істотно різнитися. Тому можна сказати, що в одного і того ж слова багато форм.