子类中的 Scala 合格受保护成员
Scala qualified protected member in subclass
在Scala Language Spec.中我发现
一种不同形式的资格受到保护[this]。标有此修饰符的成员 M 称为对象保护的;它只能从定义它的对象内部访问。也就是说,选择 p.M 仅当前缀是 this 或 O.this 时才合法,对于包含引用的某些 class O。另外,不合格protected的限制适用.
但是我理解这个的情况
例如
this.protectedMember
但是我没有得到的是
O.this,对于一些 class O 附上参考 .
请帮忙..
然而,据我所知,这是与内部 class 相关的东西,就像我们在 Swing 中所做的那样,以获得外部 class 对象,例如
OuterClass.this.someMethod 在匿名内部 class.
例如你可以
class O {
class I {
// O.this is the instance of O this I instance is nested in
def M = ...
M // calls M in I
O.this.M // calls M in O
}
protected[this] def M = ...
}
在Scala Language Spec.中我发现
一种不同形式的资格受到保护[this]。标有此修饰符的成员 M 称为对象保护的;它只能从定义它的对象内部访问。也就是说,选择 p.M 仅当前缀是 this 或 O.this 时才合法,对于包含引用的某些 class O。另外,不合格protected的限制适用.
但是我理解这个的情况
例如
this.protectedMember
但是我没有得到的是
O.this,对于一些 class O 附上参考 .
请帮忙..
然而,据我所知,这是与内部 class 相关的东西,就像我们在 Swing 中所做的那样,以获得外部 class 对象,例如 OuterClass.this.someMethod 在匿名内部 class.
例如你可以
class O {
class I {
// O.this is the instance of O this I instance is nested in
def M = ...
M // calls M in I
O.this.M // calls M in O
}
protected[this] def M = ...
}