【问题标题】:How to get all subclasses of a class (in AS3)如何获取一个类的所有子类(在 AS3 中)
【发布时间】:2011-11-08 04:14:55
【问题描述】:

这有点奇怪,但我需要知道特定类的所有子类。因此,假设我有一个名为 Shape 的基类和实现它的 3 个子类(圆形、三角形和矩形)。我想要这样的东西:

public function getSubclasses(aClass : Class) : Vector.<Class>
{
    //???
}

返回一个包含圆形、三角形和矩形的向量。

不幸的是,我不能指望每个子类在调用该函数之前至少实例化一次。

目前我需要手动将类添加到列表中,但这很容易出错(如果我忘记了),并且不像上面提出的函数那样通用(因为我需要为每个我想要的子类)。

谢谢!

【问题讨论】:

    标签: flash actionscript-3 reflection


    【解决方案1】:

    在 Flash 中没有内置函数可以做到这一点。您可以使用反射来获取类的基类,但不能反过来(参见flash.utils.describeType())。

    【讨论】:

    • 这只会让你获得 super 课程,不是吗?
    【解决方案2】:

    @Laurent 是对的。更进一步,我会说根本不可能。如果你有一个类,你可以判断它是否是另一个的孩子(通过实例化它)但是没有办法在 AS3 中列出可用的类。

    【讨论】:

      猜你喜欢
      • 2011-03-29
      • 1970-01-01
      • 2020-11-04
      • 2019-07-19
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      相关资源
      最近更新 更多