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