我对这个编码百灵鸟的现代对象并不十分擅长,并认为我可能误解了这是如何工作的:
这是我的Flash Builder 4.7项目test.as,名为test
package
{
import flash.display.Sprite;
public class test extends Sprite
{
public var myVar:int = 10;
public function test() {
var myTestsub:testsub = new testsub;
}
}
}
这是我的testsub.as文件:
package
{
public class testsub
{
public function testsub()
{
trace(myVar);
}
}
}
Flash Builder告诉我,在testsub.as"可能访问未定义的变量myVar"并且不会编译。
从我有限的,可能不正确的理解,在test.as中使myVar公开应该允许testsub.as使用它。谁能解释我哪里出错?先感谢您。
答案 0 :(得分:0)
课程之间没有联系。他们需要一个链接,类似于这个解决方案:
public class test extends Sprite
{
public var myVar:int = 10;
public function test() {
var myTestsub:testsub = new testsub(this);
}
}
public class testsub
{
public function testsub(otherClass:test)
{
trace(otherClass.myVar);
}
}
在测试创建testsub-class时,我们将一个很长的参考传递给test实例。这使得访问公共功能成为可能。来自另一个类的该实例上的变量。 (观察者需要在testub中添加test-class作为导入,以便编译代码。
答案 1 :(得分:0)
你需要像这样写你的var:
public class the_var
{
public function the_var
{
public static var my_var:number = 10;
}
}
并在其他类中调用你的var:
public class the_test
{
public function the_test
{
trace(the_var.my_var);
}
}