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
^
Класс B
устанавливает тип self в класс A
, поэтому классB
(или его подкласс )должен расширить класс A
для создания экземпляра B
. Но возможно ли это вообще, поскольку подкласс B
может расширять только один класс (, а это классB
)?
Итак, это приводит меня к вопросу, имеет ли смысл в любом случае объявлять тип self класса другому классу?