Scala позволяет вам переопределить метод двумя законными способами:
Данный суперкласс:
class A {
def a = "A"
}
Мы можем переопределить метод "a" на:
class B extends A {
override def a = "B"
}
и
class B extends A {
override def a() = "B"
}
оба, похоже, правильно верят метод "a" . Каково конструктивное решение? Зачем позволять "a()" в B переопределять "a" в A?