快速业务通道

从基础开始深入学Flash AS3教程(7)(译文)

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-11
// referencing a Basket instance
        public function clone():Basket {
            var basket:Basket = new Basket();
            basket.pubNum = pubNum; // OK
            basket.protNum = protNum; // OK - same class
            basket.privNum = privNum; // OK - same class
            basket.interNum = interNum; // OK
            return basket;
        }
    }
}

19,抽象类

不幸的是,AS3中并没有抽象类(只能继承,不能实例化)。因此你不能在Flash中直接创建抽象类。但是,AS中的一些内置类实际上是抽象类。包括:

DisplayObject
InteractiveObject
DisplayObjectContainer

和抽象类一样,你不能使用new关键字创建这些类的实例。例如:

var myObj:InteractiveObject = new InteractiveObject(); //错误

但是,除此之外,在AS中,你也不能创建这些类的直接子类,例如:

package {
    import flash.display.DisplayObject;
    public class MyDisplay extends DisplayObject{
        public function MyDisplay (){
            // ERROR
        }
    }
}

这个类在的特性和在Player中如何定义有关。如果你创建这些类的直接子类并实例化,或者直接实例化这个类,都会出现Argument Error。

因此,如果你想扩展一个抽象类,可以采用扩展抽象类的现有的internal子类的方法。例如,如果你想扩展DisplayObject,你可以扩展Shape,一个轻量级的,internal访问级别的,DisplayObject的直接子类。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号