Scala 如何从冲突的trait和class中重写和选择基字段
我有一个类,它继承了两个类。存在现场冲突:Scala 如何从冲突的trait和class中重写和选择基字段,scala,Scala,我有一个类,它继承了两个类。存在现场冲突: class SimpleApplication { protected JmeContext context; ... } trait Actor { val context: ActorContext ... } class MyClass extends SimpleApplication with Actor { } override val context=super[SimpleApplication]
class SimpleApplication {
protected JmeContext context;
...
}
trait Actor {
val context: ActorContext
...
}
class MyClass extends SimpleApplication with Actor {
}
override val context=super[SimpleApplication]。context
为我提供
error: super may be not be used on value context
我发现了这一点——没有办法解决现场冲突(如果我错了,请纠正我)
但是我不能更改SimpleApplication
和Actor
,因为它们来自外部库
解决冲突问题的最佳方法是什么?可能使用组合而不是继承?@Simon如果没有其他解决方案,那么是,我将使用组合可能使用组合而不是继承?@Simon如果没有其他解决方案,那么是,我将使用组合