这有点奇怪,但我需要知道特定类的所有子类。所以假设我有一个名为Shape的基类和实现它的3个子类(Circle,Triangle和Rectangle)。我想要这样的东西:
public function getSubclasses(aClass : Class) : Vector.<Class>
{
//???
}
返回包含Circle,Triangle和Rectangle的向量。
我很遗憾不能指望每个子类在调用该函数之前至少实例化一次。
目前我需要手动将类添加到列表中,但这很容易出错(如果我忘了),也不像上面提到的函数那样通用(因为我需要为每个列表创建一个新列表) class我想要的子类。
谢谢!
答案 0 :(得分:3)
Flash中没有内置功能。您可以使用反射来获取类的基类,但不能反过来(参见flash.utils.describeType()
)。
答案 1 :(得分:2)
@Laurent是对的。为了更进一步,我会说这根本不可能。如果你有一个课程,你可以告诉他们是否是另一个人的孩子(通过实例化)但是没有办法在AS3中列出可用的课程。