你如何有效地传递对象属性?

时间:2013-11-22 10:50:50

标签: xml actionscript-3 properties parameters

我有一个关于在Actionscript 3.0中传递属性的问题。我目前的设置就是这个。

ballObject(name:String,imageID:String,category:String,price:Number,description:String,priority:String)

我从XML文件中获取这些值。你可以看到它看起来很糟糕。我想知道是否有另一种方法可以做到这一点,哪种设计方法会更好?我也在寻找一种更有活力的方法。现在,如果我想添加一个新值,它似乎很难编码。

编辑: 哦,是的,我正在用BallManager类加载这些对象,这就是我传递参数的原因。让ballObjects自己从XML获取属性或保持ballManager传递参数会更聪明吗?

1 个答案:

答案 0 :(得分:1)

您可以将XML字符串或对象传递给构造函数,然后检索类构造函数中的属性。由于您已经拥有XML,因此可以使用该XML或XML解析对象的一部分作为属性的来源。然后,如果需要另一个属性,只需在构造函数中添加一行代码。

public function BallObject(source:Object) {
    this.name=source.name;
    this.imageID=source.imageID;
    // etc
}

使用解析的XML对象调用它,假设您在XML中有一个对象数组,并通过XML构造函数解析它,因此您的XML对象有一个名为balls的数组。然后你这样做:

for (var i:int=0;i<xml.balls.length;i++) {
    var ball:BallObject=new BallObject(xml.balls[i]);
    // process ball
}