Por que não posso atribuir a var na subclasse Scal

uponha que eu tenha a seguinte classe abstrata:

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

E agora quero definir uma classe concreta que implemente otoggle_happiness() método:

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

compilador do Scala me fornec

error: reassignment to val
   is_happy = !is_happy
            ^

Oque esta acontecendo aqui? Eu pensei queis_happy refere-se avar na minha classe que é definida pelo meu construtor. Tenho algum conflito com o nomeis_happy?

Obrigado, Dan

questionAnswers(2)

yourAnswerToTheQuestion