サーバーとやり取りする Air アプリケーションを開発しています。さまざまな主題に関連するさまざまな方法がたくさんあります。
それを構築するために、マスター「API」オブジェクトとそのいくつかのエクステンダーを導入し、それぞれが特定のサブジェクトのメソッドを実装します。_call
それらのそれぞれは、実際にサーバーを呼び出すマスター API メソッドを使用します。
マスター API を設定して、その子を次のように参照できるようにするにはどうすればよいですか。
var Api:myMasterApi = Application.getApi();
// Now do the API calls:
Api.Subject1.Method1();
Api.Subject2.Method3();
おそらく間違った方法で、インスタンス化されたサブクラスに MasterApi パブリック静的プロパティを設定しようとしました。
class myMasterApi {
public static Subject1:mySubject1 = new mySubject1();
public static Subject2:mySubject2 = new mySubject2();
protected function _call( args... ) { /* does the call */ }
}
エクステンダーは次のようになります。
class mySubject1 extends myMasterApi {
public function Method1( args... ) {
prepare things;
this._call( args ); // do the call
}
}
これは API の構造化された実装への正しいアプローチですか、それとも間違った方向に進んでいますか?
私が立ち往生している問題は、Api.Subject1
そうでないstatic
場合、循環自己参照によってスタックオーバーフローが発生することです。その基本クラスがSubject1
プロパティとして持っているためです。
Api.Subject1 がstatic
の場合、エラー 1119 が発生します。