Мне нужно реализовать слушатель в JavaScript с помощью анонимного подкласса существующего абстрактного базового класса, определенного следующим образом:
public class Speaker {
public static abstract class MyListener {
private String name;
public MyListener(final String name) { this.name = name; }
public abstract boolean listen(final String words);
}
}
В Java реализация слушателя выполняется с помощью анонимных подклассов:
MyListener newListener = new MyListener("George") {
public boolean listen(final String words) throws Exception { Thread.sleep(500); }
}
Если я попытаюсь сделать это в JavaScript, я не смогу вызвать конструктор абстрактного базового класса и одновременно реализовать виртуальную функцию.
Это сработает, если я уберу аргумент конструктора, затем вызов MyListener () с реализацией метода в качестве параметра создает экземпляр нужного мне подкласса.Но на самом деле мне нужно вызвать конструктор с и параметром конструктора и реализацией метода.