プロが教える店舗&オフィスのセキュリティ対策術

javaでラッパーする。ラッパークラスを作るという話を聞きますが、これってオーバーライドとどうちがうのでしょうか?
ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。よろしくお願いいたします。

A 回答 (3件)

オーバーライドは「スーパークラスのメソッドをサブクラスで書き換える」というふうに厳密に指せますが、


「ラップする」っていう言葉はプログラミングに限らずいろいろな使われ方をしますからね。
例えば、「あるWebアプリケーションの脆弱性を解決するために、
アプリケーションファイアーウォールでラップするとかね。」
その時々によってニュアンスは異なります。

「ラッパークラス」に限定して知りたいなら、↓を参考までにどうぞ。
http://www.kab-studio.biz/Programing/JavaA2Z/Wor …
    • good
    • 0

ラップする、は概念。

オーバーライドするは、実装。
ラップする、は目的。オーバーライドするは、手段。
目的を達成するための手段はひとつとは限らない。

例えばラップクラスの実装について、
オブジェクト指向で言うところの
『継承』と『委譲』という異なるやり方があります。
    • good
    • 0

またも適当に答えてみる。



A を B のラッパークラスとする:

class A {
private:
 B member_;
public:
 void func() {
  // B の持つメンバー関数による実装
 }
}

A が B のメソッド func() をオーバーライドする

class A extends B {
 void func() {
  // B の持つメンバー関数 func() を上書き
 }
}

こんな感じ。java の文法すらも適当。
    • good
    • 1
この回答へのお礼

概念的なものと手段という違いで理解できました。
ありがとうございます。

お礼日時:2008/02/17 00:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!