深入探索Scala中的可变变量、属性与离散事件模拟
1. 可重新赋值的变量和属性
在可重新赋值的变量上,通常可以执行两个基本操作:获取其值或为其设置新值。在像JavaBeans这样的库中,这些操作往往封装在单独的getter和setter方法中,需要显式定义。而在Scala里,对象的每个非私有 var 成员会隐式定义一个getter和一个setter方法。
- 命名规则 :
var变量x的getter方法名为x,setter方法名为x_=。 - 示例 :
class Time {
var hour = 12
var minute = 0
}
上述代码等价于:
class Time {
private[this] var h = 12
private[this] var m = 0
def hour: Int = h
def hour_=(x: Int) { h = x }
def minute: Int = m
def minute_=(x: Int) { m = x }
}
这里, private[this] 标记的字段只能从
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



