我想用<:
而不用覆盖特征中的抽象类型=
(就像这里的回答Scala Upper Bounds : value is not a member of type parameter)。
我想使用蛋糕图案,但这不起作用,我不明白为什么?
trait A {
def ping = println("ping")
}
trait Cake {
type T
}
trait S { this: Cake =>
type T = A
def t: T
t.ping
}
好的,这个例子运行了,但是在我的实际用例中,我想用<:
而不是用覆盖类型。=
似乎无法访问 t 函数,为什么?
trait S { this: Cake =>
type T <: A
def t: T
t.ping
}
返回错误value ping is not a member of S.this.T