Я начинаю с Scala, и я нашел это немного странным. В java я мог бы сделать что-то вроде этого:
interface Foo{}
public class Bar implements Foo{}
Я пытаюсь сделать что-то подобное с Scala, но он не работает:
trait Foo;
class Bar with Foo; // This doesn't work!
Мне нужно использовать ключевое слово "extends":
class Bar extends Foo; // This works OK!
Теперь, это хорошо, но это не то, что я хотел.
Еще одна вещь, которую я заметил, - это то, что каждый класс в Scala продолжается от AnyRef (см. это изображение из scala -lang.org: http://www.scala-lang.org/sites/default/files/images/classhierarchy.png), я могу это сделать:
class Bar extends AnyRef with Foo; // This works too!
Итак, что мне не хватает? Не имеет смысла использовать черту, не расширяя ее?
Спасибо!