Curl Global Community

Full Version: 継承した親クラスのヘルプは表示できない?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
あるクラス A を作成し、Curlのドキュメントも doc-next を用いて記述しました。
そのクラスを継承し、あるメソッドだけをオーバーライドしたクラス ChildA を作成しました。

コンストラクタは、子クラスに継承されないとあるので、下記のような記述で、
親のコンストラクタをそのまま利用するようにしました。

Code:
{constructor public {construct ...}
    {construct-super {splice ...}}
}

このような場合に、子クラスのコンストラクタのヘルプに、親クラスのヘルプの内容をそのまま表示したいです。

親クラスの doc-next をコピーして張り付ける、という方法は、
もし、親クラスのヘルプを修正した場合に、継承先クラスのすべてのヘルプを修正する必要があるため、
あまりやりたくないです。

親クラスのヘルプを表示するためのよい方法があれば教えてください。
umemura様

ヘルプ等探してみましたが、そういった便利な句やテキストプロシージャは見当たりませんね。

> 親クラスの doc-next をコピーして張り付ける、という方法は、
> もし、親クラスのヘルプを修正した場合に、継承先クラスのすべてのヘルプを修正する必要があるため、
> あまりやりたくないです

子クラスのコンストラクタのdoc-nextに、docrefテキストプロシージャを使って、親クラスのコンストラクタの
docへのリンクを張っておくのがいいのかなぁ。



java には、メソッドなどに対して @inheritDoc を記述して親クラスのヘルプドキュメントを継承する機能があるようなので、
これに近いものを、Curlのコンストラクタに指定できるとうれしかったのですが、やはりなさそうなのですね。

Curl のオープンコントロールのソースを見ても、やはり継承先の子クラスのコンストラクタには、
親クラスのヘルプをコピーしたものが貼り付けれらていたので、
これがお作法、ということなのでしょう。
クラスプロシージャなどと同じで、コンストラクタは継承されないので仕方なさそうですね。

twada さんのご提案のように、docref を使って「親クラス.default」を参照させるようにしてみます。

ありがとうございました。