計算クラスの継承¶
Delverでは、計算クラスの継承を行うことにより、柔軟なモデリングを可能にします。
- 継承した計算クラスをさらに継承することもできます
- 継承関係が循環している場合は、エラーとなります
継承¶
継承先クラスが継承元クラスを継承すると、以下のようになります。
継承元クラスの各モジュール、モジュールパラメータおよび変数・関数の定義を引き継ぎます
継承先クラスで変数・関数を定義した場合に、
<モジュール名>.<変数・関数名>
が同名の変数・関数が、- 存在する場合には、その定義が上書き( オーバーライド という)されます
- 存在しない場合には、新しく変数・関数が追加されます
モジュールパラメータについても同様にオーバーライド・追加されます
継承における制約は以下のとおりです。
- モジュールパラメータ <-> モジュールパラメータ、変数 <-> 変数、関数・埋め込み関数 <-> 関数・埋め込み関数 の間ではオーバーライドが可能です
- 変数 <-> 関数 などの間でのオーバーライドではエラーになります
- 返り値や引数の型が同じでなくてもオーバーライドできます