- PR -

オーバーライドについての質問

1
投稿者投稿内容
初心者たろう
常連さん
会議室デビュー日: 2005/10/13
投稿数: 30
投稿日時: 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)メソッドが呼ばれると理解して宜しいのでしょうか。初心者なので申し訳御座いません。よろしくお願いします。
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2006-02-28 10:53
引用:

(簡単に書きましたので細かいことは気にしないで下さい。)


最低限コンパイルは通るコードを提示しないと有効な回答は得られないですよ。

それから、とりあえず「ポリモーフィズム」とは何かということを調べてみてください。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-02-28 12:29
引用:

処理なのですが、クラスKOのsuper.initでスーパークラスのinit処理が行われ、


super.init()はどこから呼び出されるのでしょうか。もっとも質問には直接関係ないですよね。

引用:

OYAのdoGet処理(パラメータを受け取ったと仮定します。)でshow(req,res,ABC)が呼ばれると思いますが、この場合は、オーバーライドでKOのshow(a,b,c)メソッドが呼ばれると理解して宜しいのでしょうか。初心者なので申し訳御座いません。よろしくお願いします。


この質問についてはその通りです。OYA#showとKO#showのシグネチャが合致している、という
前提ですが(引数の型が書かれていないので、念のため)。

というか、試してみればいいと思うのですが、試してみた上での質問でしょうか。

初心者たろう
常連さん
会議室デビュー日: 2005/10/13
投稿数: 30
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)