1

我最近成为了 AS3 中一个重大项目的一部分,该项目已经工作了几年,并且是一个包含大量代码的相当大的项目,它让我陷入了一些我无法理解的问题。它大约有两个类,其中一个是另一个类的“超级”类,从现在开始我将其称为“继承者”。它看起来像这样:

继承/超类:

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-29T01:05:07.183 回答
0

有时,如果代码中有错误,它将从那时起停止读取代码,而不是结束程序。我会尝试做的是将跟踪语句从超类的开头移动到结尾,看看它是否不再跟踪。然后使用该方法,您可以上下移动它,直到找到程序停止运行的确切行。

这种方法已经解决了我的很多问题,我希望这对你有帮助。

注意:有时会出现编译器无法识别的错误,这就是我使用它的地方。

于 2013-09-29T00:29:52.203 回答