Scala aux cons类型参数解决方法

时间:2012-03-21 16:42:06

标签: class scala constructor type-parameter

好吧,我知道Scala allwos没有辅助类型的参数。如果我有像

这样的课程怎么办?
class Group[G <: Groupable] (groupees: Buffer[G]) {
   //stuff here
}

如果我想扩展该课程怎么办,比如说

class Lizards extends Group [Lizard] (Buffer[Lizard]())

这里的父类cons参数似乎是不必要的,所以我想假设如果Group被某个参数化,那么应该在缓冲区创建中使用该类型。除了禁用的类型辅助消息之外,还有什么方法可以做到这一点吗?

1 个答案:

答案 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