Page 86 - 6253
P. 86
визначенням методів і їхньою реалізацією. Ієрархія інтерфейсів відрізняється від
ієрархії класів. Класи, які не зв’язані між собою ієрархічними зв’язками, можуть
реалізувати один і той же інтерфейс.
Спрощена узагальнена форма визначення інтерфейсу має наступний вигляд:
модифікатор_доступу interface Ім'я_Інтерфейсу {
тип ім’я_Методу_1(список_параметрів);
тип ім’я_Методу_2(список_параметрів);
. . .
тип ім’я_Методу_N(список_параметрів);
тип ім’я_змінної_1 = значення;
тип ім’я_змінної_2 = значення;
. . .
тип ім’я_змінної_N = значення;
}
Якщо модифікатор доступу не вказаний, то інтерфейс доступний тільки з
пакету, в якому його визначено. Якщо в ролі модифікатора доступу вказано
модифікатор public, то ім’я інтерфейсу повинне збігатися з іменем файлу, в якому
він визначений. Усі методи інтерфейсу за своєю природою є абстрактними, а змінні,
оголошені в інтерфейсі, є одночасно final та static. Вони потребують обов’язкової
ініціалізації і на практиці використовуються як константи доступні із класу, що
реалізує відповідний інтерфейс.
Один клас може реалізувати декілька інтерфейсів. Для цього у визначення
класу необхідно додати оператор implements і реалізувати усі методи, оголошені в
інтерфейсі. Загальний вигляд класу, який реалізує інтерфейс, представлено нижче.
модифікатор_доступу class Ім’я_Класу [extends суперклас]
[implements інтерфейс [,інтерфейс...]] {
// тіло_класу
}
Якщо один клас реалізує декілька інтерфейсів, то їхні імена перелічуються
через кому після ключового слова implements. Якщо клас реалізує два інтерфейси, в
85