Scala 条件性状混合子
假设我有一个类Scala 条件性状混合子,scala,traits,Scala,Traits,假设我有一个类a,它应该与traitB混合在一起,其中B应该是B1或B2,基于一个标志B1: val b1: Boolean type B = if (b1) B1 else B2 // impossible Scala code class A extends B 有没有一种方法可以基于条件“动态”混合特征?类型是静态的,在编译时定义是固定的。您可以使用if/else逻辑创建变量匿名类的实例,但是: val a = if (b) new A with B1 else new A with
a
,它应该与traitB
混合在一起,其中B
应该是B1
或B2
,基于一个标志B1
:
val b1: Boolean
type B = if (b1) B1 else B2 // impossible Scala code
class A extends B
有没有一种方法可以基于条件“动态”混合特征?类型是静态的,在编译时定义是固定的。您可以使用if/else逻辑创建变量匿名类的实例,但是:
val a = if (b) new A with B1 else new A with B2
如果(b)使用B1新建A,或者使用B2新建A,我有没有办法将其继承到另一个类,即
类C?