私には特徴があります:
trait A {
/*Some methods*/
}
そして、私はたくさんのクラスを持っています:
class B(val argument: SomeClass) extends A {
/*Some methods*/
}
trait から引数を取得したい。各クラスとトレイトでメソッド getArgument を作成できます。
trait A {
def getArgument: SomeClass
/*Some methods*/
}
class B(val argument: SomeClass) extends A {
def getArgument = argument
/*Some methods*/
}
またはリフレクションを使用します。
trait A {
def getArgument = {
val f = this.getClass.getDeclaredField("argument")
f.setAccessible(true)
f.get(this).asInstanceOf[SomeClass]
}
/*Some methods*/
}
class B(val argument: SomeClass) extends A {
/*Some methods*/
}
それを行うためのより良い方法はありますか?