Scala 可变对象与离散事件模拟详解
1. 可重新赋值的变量和属性
在 Scala 中,对于可重新赋值的变量,有两个基本操作:获取其值和将其设置为新值。在 JavaBeans 等库中,这些操作通常封装在单独的 getter 和 setter 方法中,需要显式定义。而在 Scala 里,对象的非私有 var 成员会隐式定义一个 getter 和一个 setter 方法。
例如,对于 var hour = 12 ,它会生成一个名为 hour 的 getter 和一个名为 hour_= 的 setter,同时还有一个可重新赋值的字段,该字段标记为 private[this] ,意味着只能从包含它的对象中访问。getter 和 setter 的可见性与原始 var 相同。
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 }
}
Scala离散事件模拟与可变对象应用
超级会员免费看
订阅专栏 解锁全文
1044

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



