abstract class Base[T]ユーザーが指定した型を超えるライブラリがありTます。多くの特定Base[T]のサブクラスがあり、一部はTやSなどのオーバー タイプSpecific[T, S]ですが、これは関係ありません。もちろん、ユーザーはインスタンスの作成中に任意のものを指定できますが、それを特性Tとして扱いたい、つまり、ユーザーのタイプを. Scalaでそれを行うにはどうすればよいですか? この質問のタイトルが正しいことを願っています。TAdditionalAbilitiesAdditionalAbilities
例 (構文的に正しくない可能性があります)
class Specific[T **with trait Additional**]() extends Base[T](){
def doSomething() : T = {
val something = new T()
something.ability(2)
println(something.additional)
something
}
}
trait Additional{
var additional : Integer
def ability(i : Integer) : Unit = {
additional = i
}
}
どんなものでも動作しますT。