自引用视图/上下文绑定

时间:2015-02-26 01:51:45

标签: scala context-bound

我实际上不清楚以下是视图还是上下文绑定。还不清楚自引用方面(重新引用模型)正在做什么;):

abstract class Model[M <: Model[M]] extends Transformer {

对“&lt ;: Model [M]”的含义的解释将不胜感激。

1 个答案:

答案 0 :(得分:2)

<:既不是视图也不是上下文绑定,而是类型绑定。

下面是如何使用自引用类型边界的扩展示例。

ModelA使用限制性更强的类型绑定M <: ModelA[M],以使方法fooN起作用。 ModelA2仍然可以ModelA[ModelA1],但不能ModelA[ModelB1]。另一方面,类ModelB不会进一步限制类型范围,因此ModelB2可以扩展ModelB[ModelA1]。方法bar1bar2限制类型绑定或参数model,具体取决于transformbar方法的调用顺序{ {1}}。

model