Adobe Flex创建给定父对象的子对象

时间:2018-07-26 10:11:29

标签: flex

我有以下2个课程

class A {
    var one:int;
}
class B extends A {
    var two:int;
}

我现在有一个类A的对象,但需要创建一个类B的对象并设置其他参数。

Flex是否允许在给定父对象的情况下创建子对象?

注意:A中有很多参数,所以我不想单独复制每个参数。

1 个答案:

答案 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参数-如果存在某些属性会导致以这种方式处理问题,则需要确保排除它们。