- - PR -
オーバーライドについての質問
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-28 10:48
public Class OYA{
public void SyoriA(){ public void init(){ } public void show(a,b,c){ } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException{ show(req,res,ABC); } } public Class KO{ super.init(); public void show(a,b,c){ } } のようなソースがあるとします。(簡単に書きましたので細かいことは気にしないで下さい。)処理なのですが、クラスKOのsuper.initでスーパークラスのinit処理が行われ、OYAのdoGet処理(パラメータを受け取ったと仮定します。)でshow(req,res,ABC)が呼ばれると思いますが、この場合は、オーバーライドでKOのshow(a,b,c)メソッドが呼ばれると理解して宜しいのでしょうか。初心者なので申し訳御座いません。よろしくお願いします。 | ||||||||
|
投稿日時: 2006-02-28 10:53
最低限コンパイルは通るコードを提示しないと有効な回答は得られないですよ。 それから、とりあえず「ポリモーフィズム」とは何かということを調べてみてください。 | ||||||||
|
投稿日時: 2006-02-28 12:29
super.init()はどこから呼び出されるのでしょうか。もっとも質問には直接関係ないですよね。
この質問についてはその通りです。OYA#showとKO#showのシグネチャが合致している、という 前提ですが(引数の型が書かれていないので、念のため)。 というか、試してみればいいと思うのですが、試してみた上での質問でしょうか。 | ||||||||
|
投稿日時: 2006-02-28 13:08
UKさんへ 引用: -------------------------------------------------------------------------------- 処理なのですが、クラスKOのsuper.initでスーパークラスのinit処理が行われ、 ------------------------------------------------------------------------------ super.init()はどこから呼び出されるのでしょうか。もっとも質問には直接関係ないですよね。 →余計な処理を記述してしまいました。すいません・・ 引用: -------------------------------------------------------------------------------- OYAのdoGet処理(パラメータを受け取ったと仮定します。)でshow(req,res,ABC)が呼ばれると思いますが、この場合は、オーバーライドでKOのshow(a,b,c)メソッドが呼ばれると理解して宜しいのでしょうか。初心者なので申し訳御座いません。よろしくお願いします。 -------------------------------------------------------------------------------- この質問についてはその通りです。OYA#showとKO#showのシグネチャが合致している、という 前提ですが(引数の型が書かれていないので、念のため)。 というか、試してみればいいと思うのですが、試してみた上での質問でしょうか。 →ご回答どうもありがとうございます。 シグネチャの合致と引数の型についてもご説明しなければいけなかったのに、申し訳御座いません。DOSを使用しての開発ではなかったのですが、実際にDOSを用いてやってみればよかったのですね。早速やってみます。ありがとうございました。 |
1