私はインターフェイスがIAです。アダプタBは、そのインタフェースを実装しています。 IZは、X,Y,Zクラスによって実現されるインターフェースである。 IAは、アダプタBを使用して、私のアプリケーションがX、Y、Zと通信するためのインターフェイスです。 BはIZ(アダプタパターン)のインスタンスを含む。アダプタBから、Xに固有の機能にアクセスしたいのですが、アダプタでIZにバインドされているので、でこの機能にアクセスするにはどうすればいいですか?のようにしますか?また、アダプターBのIZのインスタンスは、ユーザーの手動アクティビティーに基づいて実行時に決定されます。依存関係注入を使用してアダプタBのIZのインスタンスをインスタンス化する方法はありますか(新しい演算子を使用しないでください)。
IA
|
B(IZのインスタンスを有する)アダプターのパターンを延長する
IZ
/| \
XYZ
編集:X '、Y'、Z 'が同じインターフェイスIZであるが、Y'には1つの方法がある可能性が高い(Xと同じでない可能性がある) Bからアクセスする必要がある.Y 'とXのユニークなメソッドの両方が、インタフェースIAのいくつかの一般的なメソッドMに適合する。
私はX、Y、ZまたはX'、Y ' 、Z 'は、IZインターフェースを実装することができる以外のものである。しかし、私は、あなたのクラスB
がIZ
を介して公開されていないX
のパブリックインターフェイスの一部にアクセスしたい場合は、新しいクラスは、私のインターフェイスIA
アダプタBがXの代わりにYまたはZのインスタンスで作成された場合、どのようになると思いますか? –
いくつかの定数を返す – r15habh
IZにもっと多くのメンバーを入れて、 "一定のもの"を返すことによってこれらのメンバーを実装し、Xが通常意図していることを何でもするようにしているようです。 –