scala> class A
defined class A
scala> class B {this: A => }
defined class B
scala> new B
<console>:10: error: class B cannot be instantiated because it does not conform
to its self-type B with A
new B
^
ClassBは self 型を classAに設定するため、クラスB(またはそのサブクラス) は class を拡張Aして のインスタンスを作成する必要がありますB。しかし、のサブクラスはB1つのクラスしか拡張できないため(これはクラスBです)、これはまったく可能ですか?
したがって、これは私に質問につながります.クラスの自己型を別のクラスに宣言することは意味がありますか?