使用接口

时间:2015-09-08 16:09:49

标签: actionscript-3 vector interface

在Actionscript3中,正如标题所说,我试图通过为它创建一个接口,在一个向量中传递两种不同类型的数据。有没有人有这样做的例子?

1 个答案:

答案 0 :(得分:2)

如果它们是不相关的对象,您可以考虑使用数组。如果你想要Vector的功能,那么你就像平时那样对待它:创建一个以接口为类型而不是最常见的基类的Vector。

    var v:Vector.<IFace> = new Vector.<IFace>();

...当然,在你想要放入Vector的那些类中实现IFace

更新 - 好的,作为答案的扩展,这是一个实际的界面......

    public interface IFace
    {
        function doSomethingAllImplementersCanDo() : Boolean;
    }

...会进入名为IFace.as的文件中。实现IFace的类可能看起来像这样......

    public class MonsterTruck implements IFace
    {
        public function doSomethingAllImplementersCanDo() : Boolean
        {
            return true;
        }
    }

...以及你程序中的其他地方......

        var v:Vector.<IFace> = new Vector.<IFace>();
        var mt:MonsterTruck = new MonsterTruck();
        v.push( mt );
        var throughIFace:IFace = v.pop();
        trace( throughIFace.doSomethingAllImplementersCanDo() );

我建议您在此处查看Adobe文档:http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f41.html