为什么扩展类必须在as3中重新导入?

时间:2014-05-31 04:54:34

标签: actionscript-3

假设我有一个包含一些import语句的基类ParentClass。

import flash.events.*;

如果我有一个子ChildClass扩展我的ParentClass并且我想对事件做一些事情

public class ChildClass extends ParentClass{
    public ChildClass():void{
        addEventListener(Event.ADDED_TO_STAGE, childFunction);
    }
}

除非我在子类中添加import语句,否则它不起作用:

import flash.events.*;

public class ChildClass extends ParentClass{
    public ChildClass():void{
        addEventListener(Event.ADDED_TO_STAGE, childFunction);
    }
}

为什么呢?如果子类正在扩展父类的功能,为什么需要重新导入父类所需的类?

1 个答案:

答案 0 :(得分:0)

存在import语句的一个原因是actionscript 3类可以与其他类具有相同的名称,前提是它们存在于不同的包中。 Import语句告诉编译器您尝试使用哪些类。

例如,如果由于某种原因,您之前在此/是/ an / example包中创建了一个名为 Event 的类,则编译器需要看到导入闪存.events.Event 语句或导入this.is.an.example.Event 语句,以了解您正在使用的事件类。同样的规则适用于子类。