Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaLab_Sertific.DOC
Скачиваний:
28
Добавлен:
19.08.2019
Размер:
1.06 Mб
Скачать

Лабораторна робота №14 Спадкування. Поліморфізм

Ё

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

Завдання: Туристична фірма, заснована в року Y, організує подорож в N країн. Про кожну країну зберігається інформація:

  • назва;

  • максимальна й мінімальна вартість подорожі.

Використовуючі наявні дані потрібно сформувати рекламне повідомлення.

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

Очевидно, що в різних фірмах в основу реклами можуть бути покладені різні дані:

  • якщо фірма давно працює на ринку туристичних послуг, то вона може рекламувати свою надійність;

  • інша фірма, що забезпечує поїздки у велику кількість країн, в основу своєї реклами може покласти саме цей факт;

  • фірма, що надає послуги в широкому діапазоні цін, саме цим бажає залучити клієнтів з різною платоспроможністю.

Тому має сенс створити в суперкласі метод-заготівку, що буде перекриватися в підкласах.

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

Діалогове вікно створюється при виклику методу JOptionPane.showInputDialog(inquery), у якому аргумент – це рядок запиту. Користувач має можливість набрати деякий текст у вікні редагування, що при клацанні на кнопці ОК повертається методом у вигляді строкового значення.

Якщо програма викликає метод JOptionPane.showInputDialog(), вона має завершити свою роботу викликом методу System.exit(0). Це визначається тим, що при виводі діалогового вікна запускається новий потік керування. Завершення роботи методу main() не припиняє роботи нового потоку керування автоматично. Виклик System.exit(0) закриває всі потоки.

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

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

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

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

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

  4. Що розуміють під сумісністю об’єктів при спадкуванні?

  5. В якому порядку викликаються конструктори при спадкуванні?

  6. Поясніть суть динамічного зв’язування.

  7. Яким чином можна використовувати діалогове вікно JOptionPane.showInputDialog() для введення даних?

  8. Поясніть текст програми.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. Поясніть текст програми.

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