我正在使用Actionscript(Flex Mobile)开发一个应用程序,并且遇到父子关系问题。我有一个继承自ClassA的 ClassB ,其中一个 ClassA 方法需要访问 ClassB 的组件。该方法无法访问设置为受保护或私有的组件/属性/变量。我不想将其设置为 public ,即使它可以解决问题。
这是父代码:
public class BaseView extends View
{
...
protected function configureComponents(componentName:String):void
{
...
var service:HTTPService = this[componentControler.Id] as HTTPService;
...
}
...
}
这是儿童代码:
public class Contacts extends BaseView
{
...
protected var callListService:HTTPService;
override protected function createChildren():void
{
...
super.createChildren();
...
callListService = new HTTPService();
configureComponents("callListService");
}
...
}
以前只是我所拥有的一个样本,但却是我需要的重要部分。此外,当我运行代码时,我收到以下错误:
错误#1069:在views.home.Contacts上找不到属性callListService,并且没有默认值。
我希望你能帮我解决这个问题。
提前致谢,
圣塞瓦斯蒂安
答案 0 :(得分:1)
从父级访问子变量不是一个好习惯,但是,在需要这样做的情况下,最好的选择可能是在父类中定义变量,然后在子级上创建一个实例。通过这种方式实现,父级可以轻松访问子级的变量实例。