在scala類中get和set使用有以下幾種:
1. var foo: Scala自動合成一個getter和一個setter
2. val foo: Scala自動合成一個getter
scala中var用於定義一個可變量, val定義一個常量。
所以在1中,當我們定義1個變量foo時候,會自動有一個默認的get和set方法。
在2中,由於val是常量,所以只有一個get方法, val常量在定義的時候需要賦值,並且不可更改。
3. 人工定義foo和foo_=方法
在scala中get和set的定義並不是像java中的getXxx和setXxx, 而是foo和foo_
例如下面的例子
class Person {
private var privateAge =0 // 變成私有並改名
def foo = privateAge //類似java的get方法
def foo_= (newValue: Int) { //類似java的set方法
if (newValue > privateAge)
privateAge=newValue // 不能變年輕
}
}
4. 人工定義foo方法