使用包时,函数和变量消失了范围

时间:2015-01-14 16:12:31

标签: actionscript-3 flash oop

在文档类中,我得到了以下代码:

package {
...
public class Main extends Sprite {
  public function Main(){
    ...
    model:IModel = new Model();
    controller:IController = new Controller(model);
    var controls:CompositeView = new Controls(model,controller)
    //Accessing controls.x provokes 1202: Access of undefined property x in package view
   }
  }
}

其中,CompositeView类是Component的扩展,后者又扩展了Sprite。

组件:

package view
{
....
  public class Component extends Sprite
  {
  ...
  }
}

CompositeView中:

package view
{
....
  public class CompositeView extends Component
  {
  ...
  }
}

控制:

package view
{
....
  public class Controls extends CompositeView
  {
  ...
  }
}

但不幸的是,当我尝试访问controls.x时,我收到了一个未定义的属性错误。

将所有类的包更改为同名修复了此问题。 E.g使用package代替packagepackage.view

在Actionscript中可以做些什么来保持代码组织并避免这个问题?

问题解决了: var控件被用作包名,更改了变量名称。

0 个答案:

没有答案