1

私は最近、数年前から取り組んできた AS3 の主要なプロジェクトの一部になりました。これはかなり大きなプロジェクトであり、多くのコードが含まれています。それは約 2 つのクラスで、そのうちの 1 つはもう 1 つの「スーパー」クラスであり、今後は「継承者」と呼びます。次のようになります。

継承/スーパークラス:

public class TVset
{
    public function TVset()
    {
        trace("I am the super class", this);
    }
}

継承クラス:

public class Brand1 extends TVset
{
    public function Brand1()
    {
        trace("I am the inheritor", this);
    }
}

さて、このコードを書くと

var aNewTV:Brand1 = new Brand1();

これは私たちが通常期待する出力です

I am the super class, [class Brand1]
I am the inheritor, [class Brand1]

しかし、私は得るだけです

I am the super class, [class Brand1]

継承者のコンストラクター内のコードは実行されていませんが、スーパークラスを呼び出しています。なぜそれが起こるのか誰にも分かりますか?

4

2 に答える 2

0

コードにエラーがある場合、プログラムを終了する代わりに、その時点からコードの読み取りを停止することがあります。私がやろうとしているのは、トレース ステートメントをスーパー クラスの最初から最後に移動し、それがトレースされなくなるかどうかを確認することです。次に、その方法を使用して、プログラムの実行が停止する正確な行が見つかるまで、上下に移動できます。

この方法は、私の問題のかなりの数でうまくいきました。これがあなたの問題に役立つことを願っています.

注:コンパイラが検出しないエラーが発生する場合があり、それが私がこれを使用する場所です。

于 2013-09-29T00:29:52.203 に答える
0

期待される結果を妨げている実行時エラーが発生している可能性があります。私たちはすべてを見ていないと感じています。

ランタイム エラーを修正すると、期待どおりに動作するはずです。

于 2013-09-29T01:05:07.183 に答える