Интерфейсы и трейты в Scala
Как известно, в языке программирования Java существует такое понятие, как интерфейс. Что касается Scala, то здесь аналогом Java-интерфейса является трейт. Давайте посмотрим, как он используется на практике.
Вообще, трейт в языке программирования Scala объявляется с помощью соответствующего ключевого слова, которое так и называется: trait. При этом, как и в случае с Java-интерфейсами, трейты включают в себя лишь объявления методов, то есть они допускают множественное наследование.
Но есть и отличие от интерфейса, которое заключается в том, что в трейте вы сможете описать поля класса, а также частично реализовывать методы. Причем наследование и трейтов, и абстрактных классов реализуется посредством extend (это первый родитель) и with (это последующие родители).
Что же, осталось посмотреть пример использования:
Также имейте в виду, что ключевое слово override обязательным не является, однако его применение -- это все же хорошая практика.
По материалам tproger.ru.