Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Об'єктно орієнтовне програмування1.doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
1.38 Mб
Скачать

8. Інтерфейси та внутрішні класи

1. «Множинне успадкування» в Java.

2. Інтерфейс. Ініціалізація полів інтерфейсу.

3. Внутрішні класи і системи управління.

4. Вкладені класи.

Завдання для самостійного опрацювання теми

1. Створити інтерфейс, який містить три методи у своєму пакеті. Реалізувати цей інтерфейс в іншому пакеті.

2. Створити три інтерфейси і в кожному з них — по два методи. Успадкувати новий інтерфейс від цих трьох і додати до нього

новий метод.

Створити клас, успадкований від реального базового класу, в якому новий інтерфейс буде реалізований. Потім написати чотири методи, кожний з яких бере один з інтерфейсів як параметр. У методі main() створити об'єкт вашого класу і передайте його по черзі в усі методи.

3. Створити програму, яка імпортує і використовує Month2.-java.

4. Створити інтерфейс з одним методом у його власному пакеті. Створити клас в окремому пакеті. Додати до нього захищений внутрішній клас, який реалізує інтерфейс. У третьому пакеті успадкувати від вашого класу і всередині методу повернути об'єкт захищеного внутрішнього класу.

5. Створити інтерфейс з одним методом і реалізувати його. Визначити внутрішній клас усередині методу, який повертає вказівку на ваш інтерфейс.

6. Повторити задачу 5, але з визначенням внутрішнього класу в області, бачення, що міститься всередині методу.

7. Створити закритий внутрішній клас, який реалізує відкритий інтерфейс. Написати метод, який повертає вказівку на примірник закритого внутрішнього класу. Показати, що внутрішній клас повністю схований.

8. Створити клас, в якого є конструктор з параметрами. Створити другий клас із методом, який повертає вказівку на перший клас.

9. Створити клас, який містить статичний внутрішній клас. У методі main() створити примірник внутрішнього класу.

10. Створити клас із внутрішнім класом. В окремому класі створити примірник внутрішнього класу.

9. Обробка помилок і виключних ситуацій

1. Основи виключення.

2. Обробка виключень: блок try, переривання та їх обробка.

3. Стандартні виключення Java.

4. Обмеження виключень.

Завдання для самостійного опрацювання теми

1. Створити клас із методом main(), який активізує виключення типу Exception з блока try. Задати в конструкторі Exception рядковий параметр. Перехопити виключення в пропозиції catch і надрукувати його текстовий параметр. Додати пропозицію finally і надрукувати відповідне повідомлення.

2. Створити свій власний клас виключення за допомогою ключового слова extends. Написати конструктор, який бере рядковий параметр і зберегти цей параметр усередині об'єкта за допомогою посилання на об'єкт String. Написати метод, який друкує цей рядок. Зробити нову пропозицію try-catch для перевірки нового виключення.

3. Визначити посилання на об'єкт і надати йому значення null.

Спробувати викликати метод об'єкта за допомогою цього посилання. Потім вставити цей код у пропозицію try-catch і перехопити виключення.

4. Створити клас із двома методами, f() і g(). У методі g() активізувати виключення того типу, який ви визначили раніше.

У методі f() викликати g(), перехопити виключення і в пропозиції catch активізувати нове виключення. Перевірити цей код у методі main().

5. Створити три нових типи виключень. Написати клас із методом, який активізує всі три типи. У методі main() викличте цей метод, користуючись однією пропозицією catch, яка може перехопити всі три виключення.

6. Написати програму, яка активізує і перехоплює виключення ArrayIndexOutOffioundsException(BHxifl за межі масиву).

7. Створити програму, яка використовує модель поновлення за допомогою циклу while. Цикл повторюється доти, доки виключення не припинить активізуватися.

8. Створити ієрархію з трьох виключень. Далі зробити базовий клас А з методом, що збуджує виключення, яке є основою ієрархії. Успадкувати клас В від А і перевизначити метод так, щоб він активізував виключення з другого рівня ієрархії. Аналогічно діяти при успадкуванні класу С від В. У методі main() створити клас С, виконати аналогічне перетворення до класу А, а потім викликати метод.

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

10. У завданні 5 додати пропозицію finally. Перевірити, що пропозиція виконується в разі активізації NullPointerException.