Scala 在不使用';这';关键词
在Scala中,是否可以调用成员方法而不必调用其自身的实例 例如,拥有这个类:Scala 在不使用';这';关键词,scala,Scala,在Scala中,是否可以调用成员方法而不必调用其自身的实例 例如,拥有这个类: class Model { def action(value : String) = { // Do action } } 此对象实现工作: object MyModel extends Model { this action "doSomething" } 但我想这样做: object MyModel extends Model { action "doSomet
class Model {
def action(value : String) = {
// Do action
}
}
此对象实现工作:
object MyModel extends Model {
this action "doSomething"
}
但我想这样做:
object MyModel extends Model {
action "doSomething"
}
就像Java属性文件一样,因为它是定义对象状态的一种简洁方法
我设法为该定义了一个别名:
def declare = this
但是,同样的问题是,在调用成员方法之前必须使用单词
有这样做的选项吗?有,但必须使用括号:
object MyModel extends Model {
action("doSomething")
}
有关何时可以省略括号或何时不能省略括号的更多详细信息,请参见示例
作为旁注,您还可以将此别名命名为this
,如下所示:
object MyModel extends Model { declare =>
declare action "doSomething"
}
如果您想从嵌套类的内部引用类的This
,这通常很有用。与在Java中编写Outer.This.x
相比,它的详细程度要低一些