Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Method_Lab.doc
Скачиваний:
7
Добавлен:
01.04.2025
Размер:
1.84 Mб
Скачать

Лабораторна робота №13 Абстраткні класи

Мета роботи: отримання практичних навичок програмування задач з використанням абстрактних класів.

Завдання: Складіть ієрархію класів.

Суперкласом є клас – будова (building). Очевидно, кожна будова має адресу (addr), зай ману площу (area), власника (owner), вартість (price). Однак цих даних недостатньо для того, щоб, наприклад, купити будову, відремонтувати її або виконати інші подібні дії, пов’язані з реальним об’єктом. Тому має сенс уважати будову аьстрактним класом.

Підкласом будови може бути житловий будинок (house). Якщо в даному класі з’являться змінні, що встановлюють кількість поверхів (floor), квартир усього(apart) і що перебувають в експлуатації (occup), а також кількість мешканців (lodger), то вже можна говорити про створення об’єктів такого класу.

Підкласом будови також може бути спортивне спорудження (sport). Будь-яке спортивне спорудження можна охарактеризувати видами спорту (types) і кількістю місць для глядачів (seat). У такому вигляді підклас «спортивна споруда» також буде абстрактним.

Підкласом «спортивної споруди» може стати реальний діючий стадіон, якщо додати назву спортивної споруди, назву спортивного заходу, кількість проданих квітків.

Рекомендації до виконання:

Часто в основі різних ієрархій класів лежать абстрактні класи, для яких не створюють об’єктів, але використання яких, безумовно, корисно. В них містять загальні змінні й методи. На користь створення абстрактних класівговорять, принаймні, два міркування: підкласи стануть простіше, суперклас об’єднає інші класи в ієрархію, що завжди корисно для розуміння і подальшого розвитку складних систем.

Вигляд екрана працюючого додатку може бути такий:

Контрольні запитання:

  1. У чому полягає суть спадкування?

  2. Якими засобами можна управляти доступом до членів класу при спадкуванні?

  3. Поясніть призначення ключового слова super.

  4. Які класи називають абстрактними? В чому користь їх створення?

  5. Які методи називаються абстрактними? Чому неможна створити об’єкт абстрактного класа?

  6. Як оголосити абстрактний клас, абстрактний метод?

Лабораторна робота №14 Реалізація інтерфейсу

Мета роботи: отримання практичних навичок програмування задач з використанням інтерфейсів.

Завдання: Створити програму, яка має інтерфейс intTurn і два класи - FixedTurn і DynTurn. Хай інтерфейс intTurn задає дві операції для роботи з чергою цілих чисел – додавання елементу у чергу place() і виділення елементу з черги goOut.

Нехай клас FixedTurn реалізує чергу з фіксованим числом елементів, яке задається при створенні об’єкта класу. При переповнюванні черги видається відповідне повідомлення.

Клас DynTurn реалізує чергу, в якій переповнювання не відбувається за рахунок додаткового виділення пам’яті усякий раз, коли для чергового елементу, що додається, не вистачає місця.

  1. Створити чергу з трьох елементів, використовуючи клас FixedTurn. Додати в неї цілі числа 5, 10, 15, 20.

  2. Вилучити елементи з черги, відображаючи їх на екран монітора.

  3. Створити чергу з одного елементу.

  4. Створити чергу з одного елементу, використовуючи клас DynTurn. Додати в неї цілі числа 100, 200, 300, 400.

  5. Вилучити елементи з черги, відображаючи їх на екран монітора.

Вигляд екрана працюючого додатку може бути такий:

Контрольні запитання:

  1. Що таке інтерфейс? В чому полягає його суть?

  2. Як оголошується інтерфейс?

  3. Що означають спеціфікатори доступа при оголошенні інтерфейса?

  4. В чому полягає реалізація інтерфейса?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]