私はvarを持つ特性を持っています
trait Foo {
@Id var _id: String
}
今、変数を初期化したい
class Bar(s: String) extends Foo {
_id = s
}
しかし、私はこのエラーが発生します:
error: class Bar needs to be abstract, since variable _id in class Foo of type String
is not defined (Note that variables need to be initialized to be defined) class Bar(s: String) extends Foo {
ポイントは、トレイトを利用する際にアノテーションが継承されていて利用したいということです。マッピング用のいくつかの注釈を備えたいくつかの特性を持ち、それらをサブクラスで利用できるようにしたいと考えています。
誰かがアイデア、ヒント、解決策を提供できますか?
編集:extends Foo
コメントに記載されているように、例
に書き留めるのを忘れました。したがって、例は不完全でした。
編集:var
Trait で
を定義すると、簡単に@Id var _id: String = _
書き込むことができ、注釈が適切に継承されます。しかし今では、フィールドを設定する必要はありません。 Bar
_id = s