31、Scala 可变对象与离散事件模拟详解

Scala离散事件模拟与可变对象应用

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 }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值