Почему в механизмах обратного вызова надо использовать именно Интерфейсы? Почему не сделать это через класс, скажем, так:
public class ButtonHandler {
void execute () {
System.out.println("Button is pressed!");
}
}
public class Button {
ButtonHandler handler;
Button (ButtonHandler action) {
this.handler = action;
}
public void click() {
handler.execute();
}
}
public class MAIN {
public static void main(String[] args) {
Button btn1 = new Button(new ButtonHandler());
btn1.click();
}
}
John Miller
1 уровень
Зачем в callback'ах использовать интерфейсы?
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий
1 февраля 2023, 10:17
Смысл интерфейсов при передаче коллбэков (да в принципе везде) - это передавать различные классы, которые реализуют этот интерфейс.
Представьте, что в вашей реализации для некоторых кнопок нужно выводить надпись "Button is pressed!", а для других какую-то другую надпись. Как это реализовать в вашем коде?
0