0

ケーキパターンを使用する場合、自己型アノテーションを使用するのはいつですか?例えば:

trait DefaultFoo extends Foo {
  this: Bar =>
  ...
}

対スタブ定義

trait DefaultFoo extends Foo {
  def bar:Bar
  ...
}

またはスタブ値

trait DefaultFoo extends Foo {
  val bar:Bar
  ...
}

更新: もう少し具体的に説明します (できれば)。3 つのフォームはすべて、Bar インスタンスの必要性を定義します。したがって、基本的に、いずれかの形式でこのトレイトを混合する非抽象クラスは、Bar の実装を提供する必要があります。私の質問は、自己型注釈を使用して Bar の実装を強制したいのはいつですか。いつ def スタブを使用して Bar を強制および実装したいのか、いつ val スタブを使用して強制したいのか。質問が少し明確になったことを願っています。

ありがとうネッタ

4

0 に答える 0