我最近成为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]
继承者的构造函数中的所有代码都没有被执行,但它确实称它为超类。有没有人知道为什么会发生这种情况?
答案 0 :(得分:0)
有时如果代码中有错误,它将停止从该点读取代码而不是结束程序。我要做的是将trace语句从超类的开头移到结尾,看看它是否不再跟踪。然后使用该方法,您可以上下移动它,直到找到程序停止运行的确切行。
这个方法解决了我的一些问题,我希望这对你有帮助。
注意:有时会出现编译器不会接收的错误,这就是我使用它的地方。
答案 1 :(得分:0)
您可能会遇到阻止预期结果的运行时错误。我感觉我们没有看到一切。
修复运行时错误,这应该按预期工作。