タグ

pythonとオブジェクト指向に関するokusa75のブックマーク (1)

  • 関数とメソッドの違い - metalglue

    オブジェクト指向言語におけるメソッドを関数で実装できるだろうか? 最近のオブジェクト指向言語では,関数型言語の特徴であるファーストクラスオブジェクトとしての関数が提供されていることが多い.このような言語の場合,単純に考えれば,メソッドをインスタンス変数に代入された関数として提供すればいいんじゃないのと思うかもしれない.しかしものごとはそう単純ではない.レシーバ (C++, Java, JavaScript における this) の扱いをどうするかという問題があるからである. JavaScript JavaScript ではまさにメソッドが関数として実装されている. o = { data: "hello", method: function () { alert(this.data); } }; o.method(); とすれば "hello" が表示される.それでは以下のように一旦関数を単

    関数とメソッドの違い - metalglue
  • 1