例如,假设我有
class Parent {
def method() {
var myvar = "test"
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何机制可以访问子类中的myvar?
编辑:
我正在尝试构建一个以现有语言为模型的DSL.该语言具有诸如此类的功能
onTrade {
if (price == ...) // will compile
}
onDayStart {
if (price == ...) // will not compile
}
Run Code Online (Sandbox Code Playgroud)
就好像price是一个全局变量,但是有编译时检查以确保它只在正确的上下文中使用.我在想一种模拟方法,就是让局部变量可以在子类中重写.就像是
// Parent
onTrade {
var price = ...
}
// Child
onTrade {
if (price == ...)
if (somethingelse == ...) // will not compile
}
Run Code Online (Sandbox Code Playgroud)
并不是的.这是你的范围.如果希望它在不同级别可见,则应该更改变量本身的范围.
例如,如果要在类级别定义它,可以这样分享.如果局部变量实际上不是本地变量,那么它们就不是本地变量.
范围是嵌套的,从最广泛到最本地.第2章,第 Scala语言参考中的16章涵盖了"标识符,名称和范围",它更详细地解释了这一点.
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |