Java/Listeners: различия между версиями
< Java
Содержимое удалено Содержимое добавлено
Nosyara (обсуждение | вклад) мНет описания правки |
|||
Строка 35: | Строка 35: | ||
{{N|32}} |
{{N|32}} |
||
{{N|33}} a.doSomething(); {{Slashstar|Оба объекта '''b''' и '''c''' выполняют doEvent}} |
{{N|33}} a.doSomething(); {{Slashstar|Оба объекта '''b''' и '''c''' выполняют doEvent}} |
||
[[Категория:Java]] |
Версия от 09:39, 20 января 2008
Книга Java
- Начало
- Hello World!
- Комментарии
- Переменные
- Стандартные структуры
- Операторы условий
- Полезные сокращения
- Операторы цикла
- Классы
- Исключения
- Коллекции
- Listeners
- GUI
- Паттерны
- Программы
- Компилирование
Можно перевести как слушатель. Это объект, который "слушает" и исполняет код в зависимости от события.
interface AListener { public void doEvent(); } class A { AListener listeners[]; public void addListener(AListener listener) { /* Запоминаем listener */ } public void doSomething(){ /* Делаем что-то о чем требуется оповестить всех слушателей */ for(int i=0; i<listeners.length; i++) { listeners[i].doEvent(); /* class A не знает кто его слушает */ } } } class B implements AListener { public void doEvent(){ /* Что-то случилось в классе A */ } } //... A a = new A(); B b = new B(); B c = new B(); a.addListener(b); a.addListener(c); a.doSomething(); /* Оба объекта b и c выполняют doEvent */