рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Интерфейсы и обратные вызовы

Интерфейсы и обратные вызовы - Лабораторная Работа, раздел Компьютеры, Интерфейсы, обратные вызовы, внутренние классы Интерфейсы И Обратные Вызовы. Обратный Вызов (Callback) Широко Распространен ...

Интерфейсы и обратные вызовы. Обратный вызов (callback) широко распространен в программировании. При обратном вызове программист задает действия, которые должны выполняться всякий раз, когда происходит некоторое событие.

Например, можно задать действие, которое должно быть выполнено, если будет нажата конкретная кнопка или выбран определенный пункт меню. Рассмотрим простую ситуацию. Пакет java.swing содержит класс Timer, который можно использовать для отсчета интервалов времени. Например, если в программе предусмотрены часы, то с помощью класса Timer, можно отсчитывать каждую секунду и обновлять циферблат часов.

Устанавливая таймер, мы задаем интервал времени и указываем, что должно произойти по его истечении. Как указать таймеру, что он должен делать? Во многих языках программирования задается имя функции, которую таймер должен периодически вызывать. Классы из стандартной библиотеки языка Java используют объектно-ориентированный подход. Программист должен передать таймеру объект некоторого класса. После этого таймер вызывает один из методов данного объекта. Передача объекта – более гибкий механизм, чем вызов функций, поскольку объект может нести с собой дополнительную информацию.

Значит, таймер должен знать, какой метод он должен вызвать. Для этого таймеру нужно указать объект класса, реализующего интерфейс ActionListener из пакета java.awt.event. Вот как выглядит этот интерфейс public interface ActionListener { void actionPerformed (ActionEvent event); } По истечении заданного интервала времени таймер вызывает метод actionPerformed. Рассмотрим пример. Пусть нужно каждые 10 секунд выводить на экран сообщение «Текущее время …», сопровождаемое звуковым сигналом.

Для этого необходимо определить класс, реализующий интерфейс ActionListener. Затем поместить операторы, которые нужно выполнить, внутрь метода actionPerformed. class Timerprinter implements ActionListener { public void actionPerformed(ActionEvent event) { Date now= new Date( ); System.out.println(“Текущее время:» + now); Toolkit.getDefaultToolkit( ).bеep( ); } } Затем следует создать объект данного класса и передать его конструктору класса Timer. ActionListener listener=new TimerPrinter ( ); Timer t=new Timer (10000, listener); Первый параметр конструктора Timer представляет собой интервал времени между точками отсчета, измеренный в миллисекундах.

Сообщение должно выдаваться на экран каждые десять секунд. Второй параметр является объектом класса ActionListener Запуск таймера t.start( ); Каждые 10 секунд на экране будет появляться сообщение о текущем времени. В листинге 6.2. приведена программа, реализующая описанный алгоритм. import java.awt.*; import java.awt.event*; import javax.swing.*; import javax.swing. Timer*; // чтобы разрешить конфликт с классом javax.util. Timer public class TimerTest { public static void main (string[ ] args) { ActionListener listener= new TimerPrinter ( ); // Создает таймер, вызывающий блок каждые 10 сек. Timer t=new Timer (10000, listener); t.start( ); JOptionPаne.showMessageDialog(null,”Выхо д?”); System.exit(0); } } class Timerprinter implements ActionListener { public void actionPerformed(ActionEvent event) { Date now= new Date( ); System.out.println(“Текущее время:» + now); Toolkit.getDefaultToolkit( ).bеep( ); } }.

– Конец работы –

Эта тема принадлежит разделу:

Интерфейсы, обратные вызовы, внутренние классы

Задание для домашней подготовки Ознакомиться с материалом, предоставленным в приложении к данным методическим указаниям. Ознакомиться с текстом… Содержание отчета Отчет должен содержать: 1. Постановку задачи, решаемой… Приложение 1. I входят сотни классов. Каждый программист в ходе работы добавляет к ним десятки своих.

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Интерфейсы и обратные вызовы

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги