- - PR -
変数(String型)の中にメソッド名が入ってるのですが、
«前のページへ
1|2|3
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-11-11 16:23
>ClassB のインスタンスを作成するときに、ClassA への参照を渡しとけば?
やはりそれしかないでしょうかねー。。。 そーすると、ClassAのメソッドだけしか呼べなくなるので。。。 ま、ClassCの参照も渡せばいいわけなので、仕様的には満たせるのですが。 できれば、ClassBがメンバになっているClassAの参照をClassB内で取得したいなー。 | ||||
|
投稿日時: 2004-11-11 16:33
ごめんなさい、やっと話が見えました。
リフレクションAPIの使い方問題ではないのですね。 それは、参照を渡してやるしかないですよ。 オブジェクト自身から、自分を参照している変数へたどる方法と いうものは、聞いたことがないです。 | ||||
|
投稿日時: 2004-11-11 16:50
素直に ClassB に ClassA と ClassC の参照を渡しておけ、と言いたい。
まあ、でも他の案もテケトーに出すだけ出しておこう。 (1) リスナ作ってイベントモデルにする。ClassB は受信スレッドだっけか。 MethodReceiveListener を作って、ClassA と ClassC はそれを実装する。 ClassB がメソッド名を受信したらファイヤーしちゃってください。 (2) ClassB を匿名内部クラスとして、ClassA の中にインライン実装する。 実は、匿名内部クラスは親インスタンスへアクセスできるのだよ。
最後にもう一度言っておくけど、素直に ClassB に ClassA と ClassC の参照を渡しておけ。 | ||||
|
投稿日時: 2004-11-11 16:57
その構成をかえられないの? 設計のまずさを実装で補おうとしても、あとで余計に泣きをみることになるよ。 | ||||
|
投稿日時: 2004-11-11 17:10
ごめん。別に匿名である必要はないな。内部クラスなら親を参照できる。 なので、ClassA の内部クラスとして ClassB を実装すればいいんじゃないかな。 | ||||
«前のページへ
1|2|3
