好吧,我知道Scala allwos没有辅助类型的参数。如果我有像
这样的课程怎么办?class Group[G <: Groupable] (groupees: Buffer[G]) {
//stuff here
}
如果我想扩展该课程怎么办,比如说
class Lizards extends Group [Lizard] (Buffer[Lizard]())
这里的父类cons参数似乎是不必要的,所以我想假设如果Group
被某个参数化,那么应该在缓冲区创建中使用该类型。除了禁用的类型辅助消息之外,还有什么方法可以做到这一点吗?
答案 0 :(得分:3)
似乎对我有用:
import collection.mutable.Buffer
trait Groupable
class Group[G <: Groupable] (groupees: Buffer[G])
class Lizard extends Groupable
class Lizards extends Group[Lizard] (Buffer()) // type only on superclass
class Lizards extends Group (Buffer[Lizard]()) // type only on argument