私の質問は、子オブジェクトの親にアクセスするためのベストプラクティスに関するものです。つまり、あるクラスが別のクラスをインスタンス化し、そのクラスインスタンスがオブジェクトで参照されるとします。その子オブジェクトから、親オブジェクトを参照する最良の方法は何ですか?現在、私は頻繁に使用するいくつかの方法を知っていますが、A)より良い方法があるかB)より良い方法があるかわかりません子オブジェクトから親に戻って参照する
最初の方法は、getDefinitionByNameそれはそのクラスをインスタンス化せず、公に宣言されたものの中の何かへのアクセスを許可します。
_class:Class = getDefinitionByName("com.site.Class") as Class;
次に、その変数をその親から子の階層に基づいて参照します。
例、子が自身の二つのレベルアップのクラス参照しようとした場合:
_class(parent.parent).function();
これは正常に動作するようだが、あなたは子供がと比較さにするレベルを知るために必要とされるがあなたがアクセスしようとしている親のレベル。
[オブジェクトClassName]をFlashの出力にトレースするための次の文を取得することもできます。
trace(Class);
私は私にいる現在のオブジェクトの外のオブジェクトを参照する方法として、それをpersuedていない、その行の実装に100%ではないです。
別の方法私は「が使用さ見てきただけで
public function Class(objectRef:Object) {
_parentRef = objectRef;
}
を作成しているクラスのオブジェクトにこのへの参照を渡すだけコンストラクタの引数
var class:Class = new Class(this);
でそれをキャッチして、クラスファイルにすることです
この参照でも、子階層から親階層を使用してバックアップを取る必要があります。
また、そのクラスをインポートしてから、その直接のファイルパスを使用して、親の有無にかかわらず、そのクラスのメソッドを参照することもできます。
import com.site.Class;
com.site.Class.method();
もちろん、インポートされたクラスを介してメソッドまたはプロパティに直接アクセスしているため、親子関係は無関係です。
私はここに本当に明白な何かが欠けているように感じます。私は基本的に、これらが親を参照する正しい方法であるかどうかを確認しています。それが最も理想的な場合、または何か他のものを見過ごしていますか?
私はあなたがクラスと呼ばれるクラスを持つことができないと確信していますが、私はあなたが意味するものを知っています。 – Iain