私のサーバーと対話するAirアプリケーションを開発しています。さまざまなテーマに関連したさまざまな方法がたくさんあります。AS3:私のAPIの実装のためのクラスを整理する方法?
これを構造化するために、私はマスター 'API'オブジェクトとそのいくつかのエクステンダを導入し、それぞれが特定のSubjectのメソッドを実装します。それぞれは、実際にサーバーを呼び出すマスターAPI _call
メソッドを使用します。
:
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
}
}
このRIGHですAPIの構造化された実装へのアプローチ、または私は間違ったトラックにいますか?
私が悩んでいる問題は、Api.Subject1
がstatic
ではない場合、循環自己参照によってスタックオーバーフローを作成します。その基本クラスはプロパティとしてSubject1
です。 Api.Subject1がstatic
あるとき、それはエラー1119を与える
:「静的な型と参照による可能性が未定義のプロパティポストのアクセスを...」
は:子サブクラスがプロパティを継承Subject1し、自身の別のコピーを作成します。 – Serge