- ベストアンサー
オーバーライドとラッパーの違い
javaでラッパーする。ラッパークラスを作るという話を聞きますが、これってオーバーライドとどうちがうのでしょうか? ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
オーバーライドは「スーパークラスのメソッドをサブクラスで書き換える」というふうに厳密に指せますが、 「ラップする」っていう言葉はプログラミングに限らずいろいろな使われ方をしますからね。 例えば、「あるWebアプリケーションの脆弱性を解決するために、 アプリケーションファイアーウォールでラップするとかね。」 その時々によってニュアンスは異なります。 「ラッパークラス」に限定して知りたいなら、↓を参考までにどうぞ。 http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000005.html
その他の回答 (2)
- isle
- ベストアンサー率51% (77/150)
ラップする、は概念。オーバーライドするは、実装。 ラップする、は目的。オーバーライドするは、手段。 目的を達成するための手段はひとつとは限らない。 例えばラップクラスの実装について、 オブジェクト指向で言うところの 『継承』と『委譲』という異なるやり方があります。
- koko_u_
- ベストアンサー率18% (459/2509)
またも適当に答えてみる。 A を B のラッパークラスとする: class A { private: B member_; public: void func() { // B の持つメンバー関数による実装 } } A が B のメソッド func() をオーバーライドする class A extends B { void func() { // B の持つメンバー関数 func() を上書き } } こんな感じ。java の文法すらも適当。
お礼
概念的なものと手段という違いで理解できました。 ありがとうございます。