• ベストアンサー

オーバーライドとラッパーの違い

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

質問者が選んだベストアンサー

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.2

オーバーライドは「スーパークラスのメソッドをサブクラスで書き換える」というふうに厳密に指せますが、 「ラップする」っていう言葉はプログラミングに限らずいろいろな使われ方をしますからね。 例えば、「あるWebアプリケーションの脆弱性を解決するために、 アプリケーションファイアーウォールでラップするとかね。」 その時々によってニュアンスは異なります。 「ラッパークラス」に限定して知りたいなら、↓を参考までにどうぞ。 http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000005.html

その他の回答 (2)

  • isle
  • ベストアンサー率51% (77/150)
回答No.3

ラップする、は概念。オーバーライドするは、実装。 ラップする、は目的。オーバーライドするは、手段。 目的を達成するための手段はひとつとは限らない。 例えばラップクラスの実装について、 オブジェクト指向で言うところの 『継承』と『委譲』という異なるやり方があります。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

またも適当に答えてみる。 A を B のラッパークラスとする: class A { private:  B member_; public:  void func() {   // B の持つメンバー関数による実装  } } A が B のメソッド func() をオーバーライドする class A extends B {  void func() {   // B の持つメンバー関数 func() を上書き  } } こんな感じ。java の文法すらも適当。

capitarize
質問者

お礼

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

関連するQ&A