abstract class Base[T]
ユーザーが指定した型を超えるライブラリがありT
ます。多くの特定Base[T]
のサブクラスがあり、一部はT
やS
などのオーバー タイプSpecific[T, S]
ですが、これは関係ありません。もちろん、ユーザーはインスタンスの作成中に任意のものを指定できますが、それを特性T
として扱いたい、つまり、ユーザーのタイプを. Scalaでそれを行うにはどうすればよいですか? この質問のタイトルが正しいことを願っています。T
AdditionalAbilities
AdditionalAbilities
例 (構文的に正しくない可能性があります)
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
。