「デレゲーション」って言葉(今日の日記の見出し)で思い出したことが……: どこかで、メソッド呼び出し/メッセージ・パッシングにおけるデレゲーションとフォーワーディングは違うんだ、という話を読んだことがあります。どこだかは忘れた。 JavaScriptだと、この違いをわかりやすく説明できます。 Barクラス(「クラスもどきの継承もどき」の意味での「クラス」)のオブジェクトが、目的(target)のFooクラス・オブジェクトにデレゲート/フォーワードするコードはこんな感じ: /* * Foo */ function Foo(name) { this.name = name; } Foo.prototype.hello = function() { print("Hello, my name is " + this.name + "."); }; /* * Bar */ function Bar