2008-09-04

http://anond.hatelabo.jp/20080903235704

ところでサー

javascriptってラッパー作りやすくていいよね。

名前を変えずにラップ出来るから好き。

クラスインスタンスもメソッドも関数オーバーライドしてラップして、好き勝手出来るから好き。

(function(){
  var origin = hoge.prototype.foo;
  hoge.prototype.foo = function(){
    ...
  };
  hoge.prototype.foo.origin = origin;
})();

perlオーバーライドできるけど、元のメソッド呼べなくなる。すべてのインスタンスに影響する(たしか)。チョイめんどい

use hoge;
package hoge;
sub foo {
  ...
}
package main;
...

他の言語では、どんな技がありますか?

[追記]

\&hoge::foo で元のコードリファレンス取れたっけ?

すっかり忘れてる。

記事への反応 -
  • std::vectorそのものにメソッドを定義したくなるような状況が頻発するんですが オブジェクト指向的にはこれをどう解決するべきですか? vectorクラスを作るほどの状況ではない(一時的に...

    • anond:20080903231110 Youラッパークラスつくりなよ せめてGoFのデザインパターン本を読むといいと思うよ

      • ところでサー javascriptってラッパー作りやすくていいよね。 名前を変えずにラップ出来るから好き。 クラスもインスタンスもメソッドも関数もオーバーライドしてラップして、好き勝手...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん