質問
あるとしましょう:
interface Foo
{
bool Func(int x);
}
class Bar: Foo
{
bool Func(int x)
{
return (x>0);
}
}
class Baz: Foo
{
bool Func(int x)
{
return (x<0);
}
}
今まで投げの周辺のバー BazとしてFoosを呼び出そのものを返す。
代表簡単にこのょ:
delegate bool Foo(int x);
bool Bar(int x)
{
return (x<0);
}
bool Baz(int x)
{
return (x>0);
}
今まで投げの周辺のバー Baz Fooとしていただけます。
何が本当の利益の代表者を除くが短期化コードについて教えてください。
解決
微妙な差があた参加者は、アクセスできるアプリケーションはメンバ変数を授業の中で定義されています。クライアントまで、フルのC#とは違いJava)すべての内部クラスは意味があると考えております。そのためご利用の場合インターフェースの管理、コールバックなどActionListenerのためのボタンを押します。の実施の内部クラスのニーズを渡すこと(コンストラクタ)への参照の部品を含むクラスをする必要があるとの交流の中で、コールバック.代表者のないこの制限そのためのコードを実装するために必要なコールバック.
短く、簡潔なコードもいます。
他のヒント
からのソフトウェア工学の観点では、代表者のように機能界面にその試作機能インタフェース。
ても使用できるものと同様の方法:代わりの全体クラスが含まれる手法が必要で渡すことができますだけに限ります。このコードを作成しく読みやすくするためのコードです。
また、最近のラムダに表現しているので定義することも簡単に飛べることが大きな特典です。することも可能であるが構築の授業のクライアントまで、フルのC#でも大きな痛みるわ。
比較するというのも面白いコンセプト。んにおいて、今まで考えられているかもしアイデアから利用の場合、コードの構築の視点から
委譲はシェアは多くの共通インターフェースの参照を持つ単一のメソッドを呼び出し元から。
最初の例では、Baz、バークラスを継承するとインスタンスを生成.第二の例では、Bazバーしてます。
応募することはできませんの界面への参照だけで任意のクラスに一致するインターフェース規約.のクラスを明示的に宣言している、インターフェース。適用できるdelegateが参照できる方法に一致する署名を表します。
できないなどの静的方法インターフェースの契約になります。ができるボルトのstaticメソッドと延長できません。されていることをご確認くださいstaticメソッドを参を参考にした。
いいえ、代表者のための方法のポインタ.しいているかどうか確認できますの署名法適用関連/wの委譲に通知するものとします。
また、その後必要な知の構造のクラスです。このように利用できる方法を書いた通り込方法別のクラスを定義する機能がしたいと思う。
の リスト<>クラスの探し方法.今だ定義されているかどうかを判定しますものではないで、必要な項目に含まれるクラスの実施IListFindableか何かに似ています。
とすることができますの代表としてパラメータ機能(技術的に代表者は対象となる場合を作成し、実際にはそうではありませんここがポイント).また、オブジェクトのパラメータとしてろ、その場合は結びつける型のオブジェクトとしての機能をパラメータとします。参を渡すことができず実行する関数のコードの署名に関わらずのものでしょうか。
していくという代表者としてのインタフェースのための方法を定義しうの引数と戻り値の型の手法が必要に委譲
あり、委譲なすことができるインターフェースの一方法。
委員は、入力方法をポインタです。これはより多くの柔軟性より界面で活用できる共分散とcontravarianceが可能ですオブジェクト(いのこのポインタとインターフェースfunctors).
また、代表団はすでに多くの素敵な統語的に砂糖ではないと結合します。
少なくとも一つの提案を追加閉鎖(匿名代表者)Javaなどが整備されていインタフェースの一員。