Prosty getter / setter przesłonięcie

Powiedzmy, że mamy klasę z właściwością „name”:

class SuperFoo(var name: String) 

Jeśli chcę to zmienić, np. Dodaj trochę blokowania połączeń:

class SubFoo(n: String) extends SuperFoo(n) {
  val lock = new ReentrantLock
  override def name(): String =
    {
      lock.lock
      try {
        super.name
      } finally {
        lock.unlock
      }
    }
  override def name_=(arg: String): Unit = {
    lock.lock
    try {
      super.name = arg
    } finally {
      lock.unlock
    }
  }
}

Powyższe powoduje błąd kompilacji:

super may be not be used on variable name 

Jakieś pomysły, jak poprawnie to wdrożyć? (tj. nadpisuj getter i setter, aby dodać blokowanie wokół nich). Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion