0
class Car(val miles:Int,val year:Int)
val myCar = new Car(100,2016);
println(myCar.miles)
在此示例中myCar.miles
为我提供了英里的值。但是我想定义明确的getter来处理myCar的miles属性。这个怎么做?Scala中的显式吸气器
class Car(val miles:Int,val year:Int)
val myCar = new Car(100,2016);
println(myCar.miles)
在此示例中myCar.miles
为我提供了英里的值。但是我想定义明确的getter来处理myCar的miles属性。这个怎么做?Scala中的显式吸气器
定义一个方法:
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
}
据我了解,不需要为mi val进行重写?但是这可以完成吗? – Pavel
'mi'只是一个构造函数的参数,通过不在前面放置'val',你不会得到自动提供的getter和setter。 – Jesper
我的意思是,这将无法在纯FP方面有效,但如果这在Scala中允许?因为我看不到它。 – Pavel