Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
відповіді ооп( більше половини).docx
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
165.75 Кб
Скачать
  1. Означте такі базові властивості об’єктно-орієнтованого програмування як абстрагування, наслідування, інкапсуляція та поліморфізм.

ООП Мова повинна володіти властивостями абстракції, інкапсуляції, наслідування і поліморфізму.

1. Абстракція – процес мисленого відділення несуттєвих характеристик об’єктів реального світу та виділення тих властивостей, які є важливими для розв’язання даної задачі.

2. Інкапсуляція – поєднання в одному об’єкті даних та методів, що мають доcтуп до цих даних. Передбачає захист даних від стороннього втручання та дозволяє цілком змінити реалізацію об’єкта. В ООП одиниця інкапсуляції – об’єкт.

3. Наслідування (успадкування) – полягає у передачі властивостей (атрибутів) від основного (базового, батьківського) класу до іншого (похідного). Ілюстрація цього – класи в біології..

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

  1. Охарактеризуйте поняття абстрагування при створенні класу об’єктів. Проаналізуйте відмінності між поняттям класу та об'єкту.

Двигун може існувати без автомобіля, а авто без двигуна ні. ООП неможливо без об’єктів, і це саме те, що склдає суть класів. На найпростішому рівні клас – це тип даних. Але на відміну від примітивних типів, таких як ціле число, число з плаваючою точкою і символ, клас являє собою складний, визначений користувачем тип. Клас аналогічний запису в базі даних – в тому сенсі, що він інкапсулює характеристики об’єкта. Наприклад, запис типу Person може містити дату народження, адресу, прізвище і номер телефону. Клас – це тип, складений з інших типів, які в сукупності описують об’єкт. Сам по собі клас не є об’єктом, зате дає спосіб породження об’єктів; це в деякому роді креслення або шаблон, по якому створюється об’єкт. У розмовній мові ці два терміни інколи взаємозамінні, але, суворо кажучи, об’єкт – це екземпляр класу. Концепція класу як шаблону для породження об’єктів стає ясніше в контексті успадкування, особливо множинного.

6. Специфікація представлення та функціональна специфікація класів.

Як специфікатори класу пам'яті в зовнішньому визначенні можуть вказуватися одне з ключових слів extern, static чи typedef.

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

float a – означення зовнішньої змінної;

extern float a – оголошення (вже пам’ять була виділена)

Специфікатор static обмежує область дії імені, яке оголошено, даним блоком, якщо оголошення міститься в блоці,чи файлом. Це статична змінна, час її життя постійний – від моменту означення до кінця виконання програми. Ініціалізується лише один раз при першому виконанні оператора, який містить її ознаечння. Можуть бути локальні і глобальні.

Специфікатор typedef служить для присвоєння імені користувача описуваному типу даного