我试图将一个特征用作一个案例类的混合.
case class Team(name:String)
trait WinStreak{}
Run Code Online (Sandbox Code Playgroud)
我想像这样使用它:
val team = Team("name") with WinStreak
Run Code Online (Sandbox Code Playgroud)
显然我不能这样做.这是因为案例类使用伴侣对象来创建类的实例吗?我知道另一个解决方案是在我的类def中扩展特性,但我想知道是否有可能创建它的mixin风格.
Bri*_*Hsu 26
因为Team("name")实际上是一个方法调用Team.apply("name"),它在apply方法中创建了对象.
使用new关键字创建对象应该做的诀窍:
case class Team(name:String)
trait WinStreak{}
val x = new Team("name") with WinStreak
Run Code Online (Sandbox Code Playgroud)