Класс Scala для реализации двух Интерфейсов Java - как?

Я только что начал изучать Scala, и я теперь задаюсь вопросом, как я мог реализовать два различных интерфейса Java с неким классом Scala? Скажем, мне записали следующие интерфейсы в Java

public interface EventRecorder {
    public void abstract record(Event event); 
}

public interface TransactionCapable {
    public void abstract commit();
}

Но класс Scala может расширить только один класс за один раз. Как у меня может быть класс Scala, который мог выполнить оба контракта? Я должен отобразить те интерфейсы в черты?

Отметьте, мои классы Scala использовались бы от Java, поскольку я пытаюсь ввести новую функциональность, записанную в Scala в существующее JAVA-приложение. И существующая платформа ожидает, что выполняются оба интерфейсных контракта.

27
задан puudeli 18 June 2010 в 09:32
поделиться

1 ответ

Второй интерфейс может быть реализован с помощью с ключевым словом

class ImplementingClass extends EventRecorder with TransactionCapable {
  def record(event: Event) {}
  def commit() {}
}

Далее каждый последующий интерфейс разделены ключевым словом на .

class Clazz extends InterfaceA
  with InterfaceB
  with InterfaceC {
  //...
}
47
ответ дан 28 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: