計算クラスの継承

Delverでは、計算クラスの継承を行うことにより、柔軟なモデリングを可能にします。

  • 継承した計算クラスをさらに継承することもできます
  • 継承関係が循環している場合は、エラーとなります

継承

継承先クラスが継承元クラスを継承すると、以下のようになります。

  • 継承元クラスの各モジュール、モジュールパラメータおよび変数・関数の定義を引き継ぎます

  • 継承先クラスで変数・関数を定義した場合に、 <モジュール名>.<変数・関数名> が同名の変数・関数が、

    • 存在する場合には、その定義が上書き( オーバーライド という)されます
    • 存在しない場合には、新しく変数・関数が追加されます
  • モジュールパラメータについても同様にオーバーライド・追加されます

継承における制約は以下のとおりです。

  • モジュールパラメータ <-> モジュールパラメータ、変数 <-> 変数、関数・埋め込み関数 <-> 関数・埋め込み関数 の間ではオーバーライドが可能です
  • 変数 <-> 関数 などの間でのオーバーライドではエラーになります
  • 返り値や引数の型が同じでなくてもオーバーライドできます