在scala中,特征是否可以扩展需要参数的类?

use*_*676 10 inheritance extends scala traits

我知道一个特性可以扩展一个具有空参数构造函数的类:

class Foo
trait Bar extends Foo
Run Code Online (Sandbox Code Playgroud)

但是有可能扩展一个构造函数有一些参数的类吗?

class Foo(b: Boolean)
trait Bar extends Foo(true)
Run Code Online (Sandbox Code Playgroud)

是否有可能实现这一目标?看来这是不可能的.但为什么?

谢谢

Ale*_*nov 4

是的,这是可能的,你只是不能给出构造函数参数:

trait Bar extends Foo { ... }
Run Code Online (Sandbox Code Playgroud)

但要实例化它,您还需要调用构造函数:

new Foo(false) with Bar
Run Code Online (Sandbox Code Playgroud)