我從來沒有從人為設計的編組和動詞名詞(一個AddTwo類有一個apply添加兩個!)的例子中理解它。我知道它是語法糖,因此(我從上下文推論得出)它必須經過精心設計,以使某些代碼更直觀。具有apply函數的類給出什么意思?它的作用是什么,它的目的是使代碼變得更好(解組,動詞名詞等)?在伴隨對象中使用時有什么幫助?
3 回答

BIG陽
TA貢獻1859條經驗 獲得超6個贊
對于那些想快速閱讀的人來說,這是一個小例子
object ApplyExample01 extends App {
class Greeter1(var message: String) {
println("A greeter-1 is being instantiated with message " + message)
}
class Greeter2 {
def apply(message: String) = {
println("A greeter-2 is being instantiated with message " + message)
}
}
val g1: Greeter1 = new Greeter1("hello")
val g2: Greeter2 = new Greeter2()
g2("world")
}
輸出
greeter-1正在使用消息hello實例化
greeter-2正在用消息世界實例化
添加回答
舉報
0/150
提交
取消