11

私がこのようなクラスを持っているとしましょう:

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

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

Viewのほとんどのサブクラスは、異なるコンストラクター引数を取りません。私はこのようなものを書くことができるようにしたいと思います:

class TestView extends View {
    // Implementation
}

コンストラクター引数を明示的に定義してスーパークラスに渡す必要がないように、サブクラスを作成するためのショートカットはありますか(スーパークラスの署名を変更した場合にすべてのサブクラスを再作成する必要がないように) ?

4

2 に答える 2

13

私はあなたがそこにあなた自身でいるのではないかと思います。コンストラクターは継承されないか、ポリモーフィックおよびサブクラスコンストラクターですが、直接のスーパークラスのコンストラクターを呼び出す必要があり、常に呼び出す必要がありますが、引数がゼロのコンストラクターがある場合を除いて、自動的に呼び出す必要はありません。 「extends」句のスーパークラスの名前。

于 2009-10-31T14:44:35.527 に答える
12
abstract class View {
    def writer: XMLStreamWriter
    // Implementation
}

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

これはあなたが探しているものですか?

于 2009-10-31T17:37:24.057 に答える