Основні поняття об’єктно-орієнтованого програмування

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

Поняттю “об’єкт” зіставляють ряд доповнюючих один одного визначень:

· це сукупність змінних стану і пов’язаних з ними методів (операцій). Ці методи визначають як об’єкт взаємодіє з оточуючим його світом;

· це конкретна реалізація, екземпляр класу. У програмуванні відносини об’єкта і класу можна порівняти з описом змінної, де сама змінна (об’єкт) є екземпляром якого-небудь типу даних (класу);

· це відчутна реальність, що характеризується чітко визначеною поведінкою;

· особливий упізнаваний предмет, блок або сутність (реальний чи абстрактний), що має важливе функціональне призначення в даній предметній області.

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

Основні властивості об’єктів:

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

Поліморфізм – також одна з трьох основних парадигм ООП. Якщо говорити коротко, поліморфізм – це здатність об’єкта використовувати методи похідного класу, який не існує на момент створення базового. Слово «поліморфізм» можна перекласти як «багато форм». Тобто це можливість використання одного і того ж імені операції або методу до об’єктів різних класів, при цьому дії, що здійснюються з об’єктами, можуть істотно різнитися. Тому можна сказати, що в одного і того ж слова багато форм.

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