- •Міністерство освіти й науки україни технікум промислової автоматики одеської державної академії холоду
- •Об’єктно-орієнтована
- •Технологія програмування
- •Методичні вказівки до виконання лабораторних робіт для спеціальності:
- •5. 05010301 «Розробка програмного забезпечення»
- •Література
- •Лабораторна робота №1 Інтегроване середовище Net Beans. Розробка лінійної програми
- •Лабораторна робота №3 Програмування обчислювальних процесів з розгалуженням
- •Лабораторна робота №4 Циклічні конструкції мови Java Мета роботи: отримання практичних навичок програмування завдань з використанням циклічних конструкцій.
- •Лабороторна робота №5 Програми, які реалізують розгалуження. Оператор switch
- •Лабороторна робота №6 Розробка програм, які застосовують оператори переходу. Оператор continue
- •Лабораторна робота №7 Розробка програм, які застосовують оператори переходу. Оператор break
- •Лабораторна робота №11 Спадкування
- •Лабораторна робота №12 Спадкування. Поліморфізм
- •Лабораторна робота №13 Абстраткні класи
- •Лабораторна робота №14 Реалізація інтерфейсу
- •Лабораторна робота №15 Спадкоємство інтерфейсів. Реалізація в одному класі декількох інтерфейсів. Змінні інтерфейса
- •Лабораторна робота №16 Пакети
- •Лабораторна робота №17 Обробка виняткових ситуацій. Принцип обробки
- •Лабораторна робота №18 Обробка виняткових ситуацій. Створення власних класів виняткових ситуацій
- •Лабораторна робота №19 Зображення геометричних фігур. Управління кольором
- •Лабораторна робота №20 Виведення тексту
- •Лабораторна робота №21
- •Лабораторна робота №22 Обробка подій, пов’язаних з кнопкою
- •Лабораторна робота №23 Обробка подій, пов’язаних з кнопкою. Менеджер компоновки FlowLayout: особливості використання
- •Лабораторна робота №24 Менеджер компоновки BorderLayout: особливості використання
- •Лабораторна робота №25 Менеджер компоновки GridLayout: особливості використання
- •Лабораторна робота №26 Обробка подій, пов’язаних з клавіатурою
- •Лабораторна робота №27 Робота з файлами даних
- •Лабораторна робота №28 Текстові поля
- •Лабораторна робота №29 Прапорці. Перемикачі. Комбіновані списки
- •Лабораторна робота №30 Java-аплети
- •Лабораторна робота №31 Реалізація меню в обрамляючих|обрамувати| вікнах
- •Лабораторна робота №32 Розробка застосувань користувача з використанням засобів візуального програмування NetBeans
Лабораторна робота №13 Абстраткні класи
Мета роботи: отримання практичних навичок програмування задач з використанням абстрактних класів.
Завдання: Складіть ієрархію класів.
Суперкласом є клас – будова (building). Очевидно, кожна будова має адресу (addr), зай ману площу (area), власника (owner), вартість (price). Однак цих даних недостатньо для того, щоб, наприклад, купити будову, відремонтувати її або виконати інші подібні дії, пов’язані з реальним об’єктом. Тому має сенс уважати будову аьстрактним класом.
Підкласом будови може бути житловий будинок (house). Якщо в даному класі з’являться змінні, що встановлюють кількість поверхів (floor), квартир усього(apart) і що перебувають в експлуатації (occup), а також кількість мешканців (lodger), то вже можна говорити про створення об’єктів такого класу.
Підкласом будови також може бути спортивне спорудження (sport). Будь-яке спортивне спорудження можна охарактеризувати видами спорту (types) і кількістю місць для глядачів (seat). У такому вигляді підклас «спортивна споруда» також буде абстрактним.
Підкласом «спортивної споруди» може стати реальний діючий стадіон, якщо додати назву спортивної споруди, назву спортивного заходу, кількість проданих квітків.
Рекомендації до виконання:
Часто в основі різних ієрархій класів лежать абстрактні класи, для яких не створюють об’єктів, але використання яких, безумовно, корисно. В них містять загальні змінні й методи. На користь створення абстрактних класівговорять, принаймні, два міркування: підкласи стануть простіше, суперклас об’єднає інші класи в ієрархію, що завжди корисно для розуміння і подальшого розвитку складних систем.
Вигляд екрана працюючого додатку може бути такий:
Контрольні запитання:
У чому полягає суть спадкування?
Якими засобами можна управляти доступом до членів класу при спадкуванні?
Поясніть призначення ключового слова super.
Які класи називають абстрактними? В чому користь їх створення?
Які методи називаються абстрактними? Чому неможна створити об’єкт абстрактного класа?
Як оголосити абстрактний клас, абстрактний метод?
Лабораторна робота №14 Реалізація інтерфейсу
Мета роботи: отримання практичних навичок програмування задач з використанням інтерфейсів.
Завдання: Створити програму, яка має інтерфейс intTurn і два класи - FixedTurn і DynTurn. Хай інтерфейс intTurn задає дві операції для роботи з чергою цілих чисел – додавання елементу у чергу place() і виділення елементу з черги goOut.
Нехай клас FixedTurn реалізує чергу з фіксованим числом елементів, яке задається при створенні об’єкта класу. При переповнюванні черги видається відповідне повідомлення.
Клас DynTurn реалізує чергу, в якій переповнювання не відбувається за рахунок додаткового виділення пам’яті усякий раз, коли для чергового елементу, що додається, не вистачає місця.
Створити чергу з трьох елементів, використовуючи клас FixedTurn. Додати в неї цілі числа 5, 10, 15, 20.
Вилучити елементи з черги, відображаючи їх на екран монітора.
Створити чергу з одного елементу.
Створити чергу з одного елементу, використовуючи клас DynTurn. Додати в неї цілі числа 100, 200, 300, 400.
Вилучити елементи з черги, відображаючи їх на екран монітора.
Вигляд екрана працюючого додатку може бути такий:
Контрольні запитання:
Що таке інтерфейс? В чому полягає його суть?
Як оголошується інтерфейс?
Що означають спеціфікатори доступа при оголошенні інтерфейса?
В чому полягає реалізація інтерфейса?
