メイン ActionScript 3.0 特設会議室 インターフェースでの一括呼び出し、、?! | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
pizza | Åê¹ÆNo.45726 投稿日時: 2010-9-11 13:06 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
インターフェースでの一括呼び出し、、?! いつもお世話になっております。
タイトルだとちょっとわかりにくいと思うのですが、 たとえば、一個のインターフェース "IUpdataクラス"
があったとして、 それをimplementsした"Parentクラス"をつくるとします。 さらに、その"Parentクラス"の子階層として IUpdataをimplementsをした"Childクラス"をつくるとします。 クラスの階層的には、 Mainクラス | L Parentクラス(IUpdataを継承) | L Childクラス(IUpdataを継承) といった感じになっているとします。 以下 "Parentクラス"
ただ、Childクラスを生成しているだけです。Parent.child で"Childクラス"の値が取ってこれるようにpublicにしてあります。 (getter / setter の部分は今回は関係ないのでpublicにしちゃってあります) あとはインターフェースのudata()があります 以下 "Childクラス"
こちらも単純にupdata()があるだけです。 普段、インターフェースを継承したクラスでは 配列( 今回は : _arrayList )を作って、その中にpushしてあげて、それをfor each文で回してあげるというやりかたをしておりました。 今回のように、子階層にあるクラスも一括で呼び出してupdata()メソッドを実行させたい時に、 "Mainクラス"
のような感じで行った方法しか分からずこれでやってきました。 実際にこれぐらいの階層の深さならいいのですが、 階層が5階層とかになってくるとわけわかんなくなってしまいそうで、、、 で、同じインターフェースを継承しているクラスを階層関係なく呼び出せる方法があるのかという疑問にいたったわけです。 みなさまはこういった状態のときいどのような書き方をしているのかを気になり投稿させていただきました!! みなさまのやられている書き方を参考までに教えていただけると幸いです。 |
野中文雄 | Åê¹ÆNo.45727 投稿日時: 2010-9-11 20:23 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: インターフェースでの一括呼び出し、、?! まず、「クラスの階層」というのは主観的な気分であって、客観的な設計(デザイン)としてはふたつのクラスには何の関わりもなく、同じインタフェースを実装しているだけに見受けられます。
「わけわかんなくな」るのは「階層関係」があると考えるからでしょう。同じインタフェースを実装するだけで互いに何の関係もないクラスについて、インタフェースに実装されたメソッドを一括で呼出したいというのが課題だと思われます。
どうでもいいことですけど、"updata"という英単語はありません。ご承知のうえでつけたのでしたら構いませんが、気づかないまま実装すると後で直すのはやっかいですので。 |
tenuki | Åê¹ÆNo.45743 投稿日時: 2010-9-13 14:50 |
新米 居住地: 投稿: 13
使用環境:
WinXP,FlashCS3 |
Re: インターフェースでの一括呼び出し、、?! オブジェクト指向に自身ないですが、
親が子を知っているだけになっていると思います。 親が子を更新する責任を持っても良いかもしれません。 たぶんやりたいことはCompositeパターンのようなことだと思います。 Compositeパターンはファイルとフォルダのような関係を構築できます。 mydoc.printを呼び出すとマイドキュメントに含まれる全てのファイルとフォルダを出力してくれます。 ↓それっぽく書いてみたつもりですが、検索してちゃんとした例を探してみてください。
|
pizza | Åê¹ÆNo.45801 投稿日時: 2010-9-15 3:59 |
新米 居住地: 投稿: 24
使用環境:
MAC バージョン10.5.8 FLASH CS3 AS3.0 Firefox 3.5.2 Safari 4.0.3 |
Re: インターフェースでの一括呼び出し、、?! 野中様
tenuki様 ご返信ありがとうございます。 返信遅くなってしまいもうしわけございません。。 updataの単語のご指摘ありがとうございます。 お恥ずかしい。。 お2人方に教えていただいやり方を参考に、 自分で納得のいくようよう勉強させていただきます。 野中様のおっしゃるとおり、課題をしっかりしぼって勉強してみます。 インタフェースに実装されたメソッドを一括で呼出すときの最善の方法を試していきたいと思います。 tenuki様に教えていただいたCompositeパターンというパターンを調べると、たしかに自分のしたかったことに近いものでした! 載せていただいたソースを参考にさせて頂きます! また改めてソースとともに勉強した結果をご返信できたらなと思います! 本当にありがとうございます!! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |