0

現在何も拡張していないカスタムクラスがあります(データベースで特定のタイプのクエリを実行するためのものです)が、親クラスにイベントを送信するために必要です。ただし、addEventListenerは定義されていません。

多くのメインフラッシュクラスがEventDispatcherを拡張していることに気付いたので、他に選択肢がない場合はどうすればよいですか?他のクラスと通信する必要があるクラスでEventDispatcherを拡張するだけですか?

4

1 に答える 1

3

できることがいくつかあります。イベントの使用に限定されないことは間違いありません。イベントは、コードを分離し、多くのオブジェクトが1つのイベントに作用できるため、イベントをディスパッチするオブジェクトが、誰が聞いているのか、または何をしているのかを気にすることなく、優れています。イベントをディスパッチする場合は、EventDispatcherを拡張するか、オブジェクトのプロパティとしてイベントを持ってください。(すでに別のクラスを拡張している場合は、プロパティとして定義する必要がある場合があります。)

または、オブジェクトが別のオブジェクトへの参照を維持し、そのオブジェクトのメソッドを明示的に呼び出すこともできます。この場合、EventDispatcherを拡張する必要はありませんが、通信する他のすべてのオブジェクトへの参照を保存する必要があります。

どちらのソリューションも同じ最終結果を達成します。状況や好みに依存します。

それがお役に立てば幸いです。

于 2011-04-05T01:28:51.423 に答える