我有以下2个课程
class A {
var one:int;
}
class B extends A {
var two:int;
}
我现在有一个类A的对象,但需要创建一个类B的对象并设置其他参数。
Flex是否允许在给定父对象的情况下创建子对象?
注意:A中有很多参数,所以我不想单独复制每个参数。
答案 0 :(得分:0)
Flex确实允许多个构造函数,但是将采取复制构造函数中每个参数的形式。
public class B extends A {
var two:int;
public function B(instanceA:A) {
this.one = instanceA.one;
//etc
}
}
另一种方法可能是使用ObjectUtil:
public class B extends A {
var two:int;
public function B(instanceA:A) {
var data = ObjectUtil.getClassInfo(instanceA);
for each (var prop in data.properties) {
this[prop] = instanceA[prop];
}
}
}
n.b。检查excludes
的{{1}}和options
参数-如果存在某些属性会导致以这种方式处理问题,则需要确保排除它们。>