在Scala中子类化而不重复构造函数参数的快捷方式?

在Scala中子类化而不重复构造函数参数的快捷方式?,scala,constructor,subclass,Scala,Constructor,Subclass,假设我有一些类似的课程: abstract class View(val writer: XMLStreamWriter) { // Implementation } class TestView(writer: XMLStreamWriter) extends View(writer) { // Implementation } class TestView extends View { // Implementation } 视图的大多数子类不会采用不同的构造函

假设我有一些类似的课程:

abstract class View(val writer: XMLStreamWriter) {
    // Implementation
}

class TestView(writer: XMLStreamWriter) extends View(writer) {
    // Implementation
}
class TestView extends View {
    // Implementation
}
视图的大多数子类不会采用不同的构造函数参数。我希望能够写出这样的东西:

abstract class View(val writer: XMLStreamWriter) {
    // Implementation
}

class TestView(writer: XMLStreamWriter) extends View(writer) {
    // Implementation
}
class TestView extends View {
    // Implementation
}

是否有一些快捷方式来编写子类,这样您就不必显式定义构造函数参数并将它们传递给超类(这样,如果我更改了超类的签名,我就不必重新编写所有子类)?

恐怕您只能靠自己了。构造函数不是继承的、多态的和子类的构造函数,尽管它们必须并且始终为它们的直接超类调用构造函数,但它们不会也不能自动调用构造函数,除非存在零参数构造函数,这是通过在“extends”子句中提及超类的名称所暗示的

这就是你要找的吗