に私はこのようScalaでのvalを上書きしようとしている:オーバーライドヴァルスは、Scalaの
trait T{
val str: String
}
sealed abstract class Test extends T{
val str: String = "str"
}
class Test1 extends Test{
val str = super.str + "test1" //super may not be used on value str
}
しかし、これはコンパイルすることを拒否しました。どうして?抽象クラスの値自体を使用して抽象クラスの値をオーバーライドしたかったのです。これを行う方法?
私の特定のケースでは、I はにはクラスパラメータとして渡すことができません。
私はこれに同意しますが、あなたはOPコードを変更しませんでした。 :) 'T'は' def str'を持ち、 'Test'は' def str'を持ち、 'Test1'は' def def str'を持っています。 – Alec
haha right :)今、私は、ありがとう! –