相关疑难解决方法(0)

scala使用泛型方法覆盖特征

我有3个班:

class AClass 
class Base { val a = "a" }
class BaseOne extends Base { val b = "b" }
class BaseTwo extends Base { val c = "c" }
Run Code Online (Sandbox Code Playgroud)

我想扩展一个包含泛型方法的特征,我不允许改变特征

trait Converter {
    def toAClass[T <: Base](e: T): AClass
    def fromAClass[T <: Base](s: AClass): T
}
Run Code Online (Sandbox Code Playgroud)

我想在几个不同的对象中扩展它

 object ConverterBaseOne extends Converter { 
 // ERROR
     override def toAClass(e: BaseOne) : AClass = { printf(e.b) } // b is known
     override def fromAlcass(a: AClass) : BaseTwo = {....}
 } …
Run Code Online (Sandbox Code Playgroud)

generics scala type-safety

1
推荐指数
1
解决办法
1847
查看次数

标签 统计

generics ×1

scala ×1

type-safety ×1