本文是ActionScript3 Tips and Tricks系列阅读笔记之一,这里是原文地址

很不幸,ActionScript3不支持抽象类(abstract classes),抽象类不能被实例化,并且只能扩展一次。所以,你不能在Flash中创建自己的抽象类。让我们先来了解一下Flash Player中内置的抽象类:

对于抽象类来说,你不能使用new关键字来建立它们的实例。

ActionScript 代码:

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

当然,你也不可以继承它们并试图建立子类的代码。

ActionScript 代码:

1
2
3
4
5
6
7
8
package {
import flash.display.DisplayObject;
public class MyDisplay extends DisplayObject{
public function MyDisplay (){
// 错误
}
}
}

不过,你可以继承内部抽象类的子类。例如,如果需要继承DisplayObject,你可以继承Shape类。Shape就是DisplayObject的子类。

留言