在 Scale 中显式 getter

Explicit getter in Scala

class Car(val miles:Int,val year:Int)

val myCar = new Car(100,2016);
println(myCar.miles)

在这个例子中 myCar.miles 给出了英里的价值。但是我想定义明确的 getter 来对 myCar 的英里数 属性 做一些事情。如何做到这一点?

定义一个方法:

class Car(mi: Int, val year: Int) {
  def miles = 2 * mi
}

val myCar = new Car(100, 2016)
println(myCar.miles)   // prints 200

或者,由于值是不可变的,定义一个 val 以便计算只进行一次(而不是每次调用该方法时):

class Car(mi: Int, val year: Int) {
  val miles = 2 * mi
}