Почему я не могу назначить var в подклассе Scala?

Предположим, у меня есть следующий абстрактный класс:

abstract class A (var is_happy : Boolean) {
  def toggle_happiness();
}

А теперь я хочу определить конкретный класс, который реализует toggle_happiness ( ) метод:

class B (is_happy : Boolean) extends A (is_happy) {
  def toggle_happiness() = {
    is_happy = !is_happy
  }
}

Компилятор Scala дает мне:

error: reassignment to val
   is_happy = !is_happy
            ^

Что здесь происходит? Я думал, что is_happy относится к var в моем классе, который задается моим конструктором. У меня конфликт с именем is_happy ?

Спасибо, Дэн

14
задан Dan Barowy 11 July 2011 в 21:31
поделиться