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

Про матеріал
Тема 1. Основні поняття об’єктно-орієнтованого програмування Зміст теми. Вступ до ООП. Поняття класу. Атрибути. Об’єкти. фундаментальні властивості об'єктно-орієнтованого програмування: інкапсуляція, спадкування і поліморфізм.
Перегляд файлу

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

Зміст теми. Вступ до ООП. Поняття класу. Атрибути. Об’єкти. фундаментальні властивості об'єктно-орієнтованого програмування: інкапсуляція, спадкування і поліморфізм.

 

 

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

Ми живемо в світі об'єктів. Стіл, автомобіль, ручка, студент – все це об'єкти. Разом з фізичними існують так само абстрактні об'єкти, типовими представниками яких є числа. Таким чином, об'єкт - це будь-яка фізична або абстрактна суть, що чітко ідентифікується.

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

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

Об'єкт – це екземпляр деякого класу об'єктів або просто класу. Так, автомобіль Audi 6 є екземпляром класу автомобілів даної моделі, приймач Sony SW-7600G так само буде представником класу однойменних приймачів. Таким чином, клас – це абстрактне поняття.

На UML – уніфікованій мові моделювання – клас відображається у вигляді прямокутника, розділеного на три частини. У першій міститься ім'я класу, в другій – атрибути, в третій – методи (рисунок 1).

 

 

 

 

 

 

 

 

 

Рисунок 1 – Відображення класу на UML

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

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

Отже, між термінами клас і об'єкт існує чітка межа: клас – це опис, об'єкт – те, що створене відповідно до цього опису.

Основними властивостями об'єктно-орієнтованого програмування є інкапсуляція, спадкування і поліморфізм.

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

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

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

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

 

Питання для самоконтролю

 

  1. Дайте визначення об’єкта та чим він характеризується?
  2. Дайте визначення класу і як відображається він на UML?
  3. Назвіть фундаментальні властивості об'єктно-орієнтованого програмування.
  4. Дайте визначення інкапсуляції, спадкуванню та поліморфізму.
  5. Назвіть переваги об'єктно-орієнтованого програмування.


  1. до закритих членів класу функціями, які не є членами цього класу?
docx
Додано
14 квітня 2020
Переглядів
1739
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку