我可以在setter中使用多个参数吗?
例如:
private var _a = 0
def a = _a
def a_= (b: Int, c: Int) = _a = b + c
Run Code Online (Sandbox Code Playgroud)
如果是,我该如何调用setter方法?
元组怎么样?
class A {
private var _a = 0
def a = _a
def a_= (t: (Int, Int)) {
_a = t._1 + t._2
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢笨拙的元组访问语法:
class A {
private var _a = 0
def a = _a
def a_= (t: (Int, Int)) {
t match {
case(b, c) => _a = b + c
}
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
val x = new A()
x.a = (3, 7)
x.a //10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
590 次 |
| 最近记录: |