代码之家  ›  专栏  ›  技术社区  ›  robmcm

如何判断实例是否在ActionScript3.0中实现了接口

  •  7
  • robmcm  · 技术社区  · 15 年前

    我正在重写数组集合的additem()函数,我想检测添加的项是否实现了特定的接口。

    以前我用过, is 运算符来检测类类型,但现在我正在为类使用接口,我宁愿测试对象是否实现接口。

    我希望我可以尝试将对象转换为接口,看看它是否不是 null . 这是最好的方法吗?

    我也可以创造一个新的 addFunction() 只接受接口类型的对象。

    2 回复  |  直到 15 年前
        1
  •  13
  •   Joel Hooks    15 年前

    你还可以用 测试接口。

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768" creationComplete="application1_creationCompleteHandler(event)">
        <fx:Script>
            <![CDATA[
                import mx.events.FlexEvent;
                public var test:TestInterface = new TestInterface() //implements ITestInterface
    
    
                protected function application1_creationCompleteHandler(event:FlexEvent):void
                {
                    trace(test is ITestInterface); //true
                }
    
            ]]>
        </fx:Script>
    </s:Application>
    
        2
  •  3
  •   Christophe Herreman    15 年前

    添加到joel的答案中:如果您想要关于类实现的接口(及其子类、父类等)的更多信息,那么 AS3Commons 图书馆有 ClassUtils 具有许多方便方法的类。

    推荐文章