Предположим, что у меня есть следующий абстрактный класс:
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
?
Спасибо, Dan