2009-07-18 8 views

答えて

7

はい、ブーはIQuackFuです。

  • QuackGet:あなたは
  • QuackSetが呼び出されるプロパティの値を取得するときに
  • QuackInvokeプロパティ値を設定するときに呼び出される:呼び出さ

    基本的には、次の3つのメソッドを持っている、IQuackFuを実装しますメソッドを呼び出すとき

ここはan exampleです。

+0

小さな質問:Booは他のオブジェクトのメソッド呼び出しを傍受できますか? Groovyのようなものは、メタクラスを使っている。私は静的に型付けされているので、答えはノーだと思っていますが、私は確信しています。 – Geo

+0

私はGroovyと同じようにはできないと思っていますが、IQuackFu対応のクラスを使って別のクラスをラップ/デコレートできます。あなたのIQuackFu対応クラスは、展開動作を実装するためのメソッドとプロパティの辞書を持つことができます。 –

+0

BooはGroovyのように本当に動的ではありません。実行時にTypeの定義を変更することはできません。変数を 'duck'として宣言すると、コンパイラの魔法が本質的にそのオブジェクトに対する遅延バインディングになり、IQuackFuが利用可能ならば流れます。ブーには実際のメタクラスはありません。メタクラスのようなものを得るには、IronRubyまたはIronPythonが必要です。 –

関連する問題