我在时间轴中有一个数组,需要将其传递给类文件,但我似乎无法弄清楚如何执行此操作,因为类间数组传输的方法似乎不起作用。
问问题
252 次
1 回答
3
您始终可以将数组作为方法参数传递或设置公共变量。
在我看来,最好的方法是使用 setter 方法:
class Foo {
private var _bar:Array;
public function set bar ( arr : Array ) : void {
_bar = arr;
}
// it is customary to provide a getter method to retrieve the value later
public function get bar ( ): Array ) {
return _bar;
}
// more stuff happening here.
}
您可以从这样的框架动作中调用它:
var foo:Foo = new Foo();
foo.bar = [ 1,2,3 ];
您的问题中有一些术语怪癖,所以这是为了澄清一些事情:
类之于对象就像蓝图之于房子一样。设置属性值时,通常将它们设置在对象(类的实例)上,而不是在类本身上。这样,每个对象实例都可以有不同的值。一个类也可以有变量。这些被称为“静态”变量,它们对于类的所有实例都是相同的。假设_bar
已声明private static var _bar
:如果您随后创建var foo2:Foo = new Foo();
,foo2.bar
将自动返回与 相同的值foo.bar
,并且如果您更改 的值foo2.bar
,您也将更改 的值foo.bar
。
于 2011-03-16T06:48:54.773 回答