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

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

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

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

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

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

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

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

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

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

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

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

Основні теоретичні положення:

Інтерфейси – один з найефективніших і цікавищих засобів мови програмування Java. Деякою мірою інтерфейси поєднують в собі властивості абстрактних класів, множинного спадкоємсива (якого не має в мові Java) і реалізують ідеї поліморфізма.

Суть інтерфейса полягає у тому, що є можливість створити конструкцію, подібну класу, але без реалізації методів. Методи передбачається реалізовувати надалі в класах, до яких підключатиметься даний інтерфейс.Кількість реалізацій одного інтерфейсу може бути будь-якою.

Синтаксис опису інтерфейса такий:

спеціфікатор_доступу interface ім’я _інтерфейсу

{

тип кінцева_змінна1=значення;

...............

тип кінцева_зміннаN=значення;

тип ім’я_методу1(список_параметрів);

................

тип ім’я_методуN(список_параметрів);

}

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

Змінні, описані в інтерфейсі, завжди мають опис final і static. Усі значення, задані в опису інтерфейсу, не можуть бути змінені прийого реалізації.

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

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

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

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

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

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

Лабораторна робота №17 Спадкоємство інтерфейсів. Реалізація в одному класі декількох інтерфейсів. Змінні інтерфейса

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

Завдання: Створити програму, яка має інтерфейси intTurn і Filter і клас DynTurn.

Хай інтерфейс intTurn задає дві операції для роботи з чергою цілих чисел – додавання елементу у чергу place() і виділення елементу з черги goOut(). Інтерфейс Filter контролює додавання елементів в чергу. Він містить метод filt(), який перевіряє, чи належить елемент диапазону ]99;1000[, а токож кінцеві константи EXCEPT1 і EXCEPT2 з певними значеннями, які з деяких міркувань не можна поміщати в чергу.

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

Продемонструвати спадкоємство інтерфейсів і використання змінних інтерфейсу, додавши в чергу елементи 100, 99, 200, 199, 300, 299, 400, 1000.

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

Основні теоретичні положення:

Один клас може реалізовувати необмежену кількість інтерфейсів.

Подібно класам, один інтерфейс може успадковувати інший інтерфейс. В цьому випадку похідний інтерфейс одержує від базового інтерфейсу всі оголошені в ньому змінні і методи. Синтаксис спадкоємства інтерфейсів тикий самий, як і для спадкоємства класів.

Змінні, описані в інтерфейсі, завжди мають опис final і static. Усі значення, задані в опису інтерфейсу, не можуть бути змінені при його реалізації. Ці змінні можуть використовуватись як константи в класах, що реалізовують відповідний інтерфейс.

Іноді має сенс створювати інтерфейси, які містять тільки описи змінних. Такі інтерфейси є списками констант (наприклад, деякий набір початкових або гранічних значень), які можна підключати до різних класів.

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

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

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

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

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

  5. Як можна використовувати посилання на інтерфейс?

  6. Як реалізувати в одному класі декілька інтерфейсів?

  7. В чому полягає спадкоємство інтерфейсів?

  8. Як можна використовувати в класі змінні інтерфеса?

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

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