adobe flex 在给定父对象的情况下创建子对象
adobe flex create child object given a parent object
我有以下 2 个 classes
class A {
var one:int;
}
class B extends A {
var two:int;
}
我现在有一个 class A 的对象,但需要创建 class B 的对象并设置其他参数。
Flex 是否允许在给定父对象的情况下创建子对象?
注意:A 中有很多参数,所以我不想每个都单独复制。
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。检查 getClassInfo
的 excludes
和 options
参数——如果存在会导致问题以这种方式处理的属性,您需要确保将它们排除在外。
我有以下 2 个 classes
class A {
var one:int;
}
class B extends A {
var two:int;
}
我现在有一个 class A 的对象,但需要创建 class B 的对象并设置其他参数。
Flex 是否允许在给定父对象的情况下创建子对象?
注意:A 中有很多参数,所以我不想每个都单独复制。
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。检查 getClassInfo
的 excludes
和 options
参数——如果存在会导致问题以这种方式处理的属性,您需要确保将它们排除在外。