You are on page 1of 6

Мета: Навчитися визначати особливості поліморфізму у мові Java та

використовувати їх при створенні додатків мовою Java.


Обладнання: JetBrains IntelliJ IDEA

Хід роботи

2.1 У середовищі IntelliJ створив проєкт та під'єднав його до репозиторію


Git.
2.2 Відповідно до свого номеру у списку студентської групи обрав завдання
з таблиці 4.4 (Варіант 2).

Рисунок 1 – Завдання для варіанта 2

2.3 Написав відповідний вихідний код програми мовою Java. В завданні 1


всі фрагменти зміг прочитати без компіляції

Змн. Арк. № докум. Підпис Дата


ФКЗЕ.121ТПJ00.11ЛР
Розроб. Хлєбніков М.І. Основи ООП. Застосування Літ. Арк. Аркушів
Перевір. Новодранова В.А поліморфізму при створенні 1 8
Реценз. об'єктно- орієнтованих додатків
мовою Java. Група ПЗ-20-1/9
Н. Контр. Новодранова В.А
Затверд. Саприкіна І.Г.
Арк.

Змін. Арк. № докум. Підпис Дата


ФКЗЕ.121TПJ00.11ЛР 2
Арк.

Змін. Арк. № докум. Підпис Дата


ФКЗЕ.121TПJ00.11ЛР 3
Рисунок 2 – Вихідний код

Арк.

Змін. Арк. № докум. Підпис Дата


ФКЗЕ.121TПJ00.11ЛР 4
Рисунок 3 – Результати тестування

Відповіді на контрольні питання


1. Поясніть сутність поліморфізму, який реалізується за допомогою
інтерфейсів.
Поліморфізм у Java стосується здатності об’єктів приймати різні форми
та поведінку залежно від їхнього контексту. Це досягається за допомогою
інтерфейсів, які визначають набір методів, які повинен надавати клас
реалізації. Один інтерфейс може бути реалізований кількома класами, кожен з
яких забезпечує власну реалізацію методів, визначених в інтерфейсі. Це
дозволяє розглядати об’єкти як екземпляри інтерфейсу, а не як їхній
конкретний клас реалізації, що забезпечує більшу гнучкість і можливість
повторного використання коду.
2. Яка відмінність існує між інтерфейсами та абстрактними класами?
Основна відмінність між інтерфейсами та абстрактними класами полягає
в тому, що абстрактний клас може містити як конкретні, так і абстрактні
методи, тоді як інтерфейс може містити лише абстрактні методи (методи
без

Арк.

Змін. Арк. № докум. Підпис Дата


ФКЗЕ.121TПJ00.11ЛР 5
реалізації). Крім того, клас може розширювати лише один абстрактний
клас, але може реалізувати кілька інтерфейсів. Абстрактні класи також можуть
мати змінні екземплярів, тоді як інтерфейси можуть мати лише константи
(статичні кінцеві змінні) і оголошення методів.
3. Які вбудовані типи даних можуть містити інтерфейси?
Інтерфейси можуть містити такі типи даних, як примітиви (int, char,
boolean тощо), а також інші об’єкти, масиви та інші інтерфейси.
4. Який сенс мають вбудовані інтерфейси?
У Java є кілька вбудованих інтерфейсів, які забезпечують спільну
функціональність і дозволяють писати код для роботи з будь-яким об’єктом,
який реалізує інтерфейс. Приклади вбудованих інтерфейсів включають
Comparable (для порівняння об’єктів), Iterable (для ітерації по колекції
об’єктів) і Serializable (для запису об’єктів у потоки).
5. Як вирішено в Java питання колізії імен констант та методів?
Конфлікт імен констант і методів вирішується в Java за допомогою
концепції просторів імен. Кожен клас або інтерфейс має свій власний простір
імен, а константи та методи, визначені в класі або інтерфейсі, доступні лише в
цьому просторі імен із використанням нотації крапка (.) для посилання на них.
Якщо два простори імен визначають константи або методи з однаковими
іменами, їх можна усунути, використовуючи повне ім’я, яке включає простір
імен або ім’я пакета, після якого йде оператор крапки та ім’я константи або
методу.

Висновок: навчився визначати особливості роботи з інтерфейсами у мові


Java та використовувати їх при створенні додатків мовою Java

Арк.

Змін. Арк. № докум. Підпис Дата


ФКЗЕ.121TПJ00.11ЛР 6

You might also like