- •Лабораторна робота №1 Інтегроване середовище Net Beans. Розробка лінійної програми
- •Лабораторна робота №2 Застосування командного рядка для компіляції і запуску Java-програм
- •Лабораторна робота №3 Програмування обчислювальних процесів з розгалуженням
- •Лабораторна робота №4 Циклічні конструкції мови Java
- •Лабораторна робота №5 Програми, які реалізують розгалуження. Оператор switch
- •Лабораторна робота №6 Розробка програм, які застосовують оператори переходу. Оператор continue
- •Лабораторна робота №7 Розробка програм, які застосовують оператори переходу. Оператор break
- •Лабораторна робота №8 Розробка програм, які застосовують одновимірні масиви
- •Лабораторна робота №9 Розробка програм, які застосовують двовимірні масиви
- •Лабораторна робота №10 Класи та об'єкти
- •Лабораторна робота №11 Конструктори. Обмеження доступу до елементів класу Передача параметрів методу за значенням
- •Лабораторна робота №12 Статичні дані та методи
- •Лабораторна робота №13 Спадкування
- •Лабораторна робота №14 Спадкування. Поліморфізм
- •Лабораторна робота №15 Абстраткні класи
- •Лабораторна робота №16 Реалізація інтерфейсу
- •Лабораторна робота №17 Спадкоємство інтерфейсів. Реалізація в одному класі декількох інтерфейсів. Змінні інтерфейса
- •Лабораторна робота №18 Пакети
- •Лабораторна робота №19 Обробка виняткових ситуацій. Принцип обробки
- •Лабораторна робота №20 Обробка виняткових ситуацій. Створення власних класів виняткових ситуацій
- •Лабораторна робота №21 Зображення геометричних фігур. Управління кольором
- •Лабораторна робота №22 Виведення тексту
- •Лабораторна робота №23 Управління компоновкою
- •Лабораторна робота №24 Обробка подій, пов’язаних з кнопкою
- •Лабораторна робота №25 Обробка подій, пов’язаних з клавіатурою
- •Література
Лабораторна робота №16 Реалізація інтерфейсу
Мета роботи: отримання практичних навичок програмування задач з використанням інтерфейсів.
Завдання: Створити програму, яка має інтерфейс intTurn і два класи - FixedTurn і DynTurn. Хай інтерфейс intTurn задає дві операції для роботи з чергою цілих чисел – додавання елементу у чергу place() і виділення елементу з черги goOut.
Нехай клас FixedTurn реалізує чергу з фіксованим числом елементів, яке задається при створенні об’єкта класу. При переповнюванні черги видається відповідне повідомлення.
Клас DynTurn реалізує чергу, в якій переповнювання не відбувається за рахунок додаткового виділення пам’яті усякий раз, коли для чергового елементу, що додається, не вистачає місця.
Створити чергу з трьох елементів, використовуючи клас FixedTurn. Додати в неї цілі числа 5, 10, 15, 20.
Вилучити елементи з черги, відображаючи їх на екран монітора.
Створити чергу з одного елементу.
Створити чергу з одного елементу, використовуючи клас DynTurn. Додати в неї цілі числа 100, 200, 300, 400.
Вилучити елементи з черги, відображаючи їх на екран монітора.
Вигляд екрана працюючого додатку може бути такий:
Основні теоретичні положення:
Інтерфейси – один з найефективніших і цікавищих засобів мови програмування Java. Деякою мірою інтерфейси поєднують в собі властивості абстрактних класів, множинного спадкоємсива (якого не має в мові Java) і реалізують ідеї поліморфізма.
Суть інтерфейса полягає у тому, що є можливість створити конструкцію, подібну класу, але без реалізації методів. Методи передбачається реалізовувати надалі в класах, до яких підключатиметься даний інтерфейс.Кількість реалізацій одного інтерфейсу може бути будь-якою.
Синтаксис опису інтерфейса такий:
спеціфікатор_доступу interface ім’я _інтерфейсу
{
тип кінцева_змінна1=значення;
...............
тип кінцева_зміннаN=значення;
тип ім’я_методу1(список_параметрів);
................
тип ім’я_методуN(список_параметрів);
}
Тут як спеціфікатор доступу можна записати public, або нічого. За наявності спеціфікатора public всі методи інтерфейсу також неявно мають спкціфікатор доступу public. За відсутності спеціфікатора доступу інтерфейс можна використовувати тільки в межах того пакета, в якому він описаний.
Змінні, описані в інтерфейсі, завжди мають опис final і static. Усі значення, задані в опису інтерфейсу, не можуть бути змінені прийого реалізації.
Контрольні запитання і завдання:
Що таке інтерфейс? В чому полягає його суть?
Як оголошується інтерфейс?
Що означають спеціфікатори доступа при оголошенні інтерфейса?
В чому полягає реалізація інтерфейса?
Поясніть текст програми.
Лабораторна робота №17 Спадкоємство інтерфейсів. Реалізація в одному класі декількох інтерфейсів. Змінні інтерфейса
Мета роботи: отримання практичних навичок програмування задач з використанням інтерфейсів.
Завдання: Створити програму, яка має інтерфейси intTurn і Filter і клас DynTurn.
Хай інтерфейс intTurn задає дві операції для роботи з чергою цілих чисел – додавання елементу у чергу place() і виділення елементу з черги goOut(). Інтерфейс Filter контролює додавання елементів в чергу. Він містить метод filt(), який перевіряє, чи належить елемент диапазону ]99;1000[, а токож кінцеві константи EXCEPT1 і EXCEPT2 з певними значеннями, які з деяких міркувань не можна поміщати в чергу.
Клас DynTurn реалізує чергу, в якій переповнювання не відбувається за рахунок додаткового виділення пам’яті усякий раз, коли для чергового елементу, що додається, не вистачає місця.
Продемонструвати спадкоємство інтерфейсів і використання змінних інтерфейсу, додавши в чергу елементи 100, 99, 200, 199, 300, 299, 400, 1000.
Вигляд екрану працюючого додатка може бути такий:
Основні теоретичні положення:
Один клас може реалізовувати необмежену кількість інтерфейсів.
Подібно класам, один інтерфейс може успадковувати інший інтерфейс. В цьому випадку похідний інтерфейс одержує від базового інтерфейсу всі оголошені в ньому змінні і методи. Синтаксис спадкоємства інтерфейсів тикий самий, як і для спадкоємства класів.
Змінні, описані в інтерфейсі, завжди мають опис final і static. Усі значення, задані в опису інтерфейсу, не можуть бути змінені при його реалізації. Ці змінні можуть використовуватись як константи в класах, що реалізовують відповідний інтерфейс.
Іноді має сенс створювати інтерфейси, які містять тільки описи змінних. Такі інтерфейси є списками констант (наприклад, деякий набір початкових або гранічних значень), які можна підключати до різних класів.
Контрольні запитання і завдання:
Що таке інтерфейс? В чому полягає його суть?
Як оголошується інтерфейс?
Що означають спеціфікатори доступа при оголошенні інтерфейса?
В чому полягає реалізація інтерфейса?
Як можна використовувати посилання на інтерфейс?
Як реалізувати в одному класі декілька інтерфейсів?
В чому полягає спадкоємство інтерфейсів?
Як можна використовувати в класі змінні інтерфеса?
Поясніть текст програми.