Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Інтерфейси






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

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

Інтерфейси мають свою власну ієрархію, яка є непересічною з ієрархією успадкування класів. Це надає можливість реалізувати один і той же інтерфейс в різних класах, ніяк не зв’язаних з ієрархією класового успадкування. У цьому і виявляється головна сила інтерфейсів.

Інтерфейси є певним аналогом механізму множинного успадкування в C++, але використовувати їх набагато легше.

Оператор interface

Визначення інтерфейсу схоже з визначенням класу, але відмінність полягає в тому, що в інтерфейсі відсутні оголошення даних і конструкторів. Загальна форма інтерфейсу наведена нижче:

interface ім’я {

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

тип ім’я_final1_змінної = значення;

}

В оголошуваних в операторі interface методів відсутні оператори тіла. Оголошення методів завершується символом «;». У інтерфейсі можна оголошувати і змінні, при цьому вони неявно оголошуються final-змінними (це означає, що клас реалізації не може змінювати їх значення). Крім того, при оголошенні змінних в інтерфейсі їх обов’язково потрібно ініціалізувати константними значеннями.

 

Оператор implements

Оператор implements – це доповнення до визначення класу, яка реалізує деякий інтерфейс(и).

class ім’я_класу [extends суперклас][implements інтерфейс0 [, інтерфейс1…]]{тіло класу}

Якщо в класі реалізується декілька інтерфейсів, то їх імена розділяються комами.

Нижче наведені приклади використання даного оператора:

[слайд на стор.18-19, Lect_14.pdf]

Багатопотоковість в Java

Вбудована багато потоковість – істотна риса платформи Java. Вона підтримується як на мовному (синтаксичному) рівні, так і на рівні Java VM і бібліотек класів.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.