scala/ScalaBook/chapter-03/type3.scala

class ClassC {
  private var name = "Class C"
  private var backup = name
  def getName = name
  def setName(y: String) = name=y
}

class ClassB {
  private var name = "Class B"
  def getName = name
  def setName(y: String) = name=y
}

def FF(x:{ def getName: String })=println(x.getName)

var x = new ClassC

FF(x)