抽象类(Abstract Classes)
抽象类在工厂和模板方法模式里扮演着重要角色。虽然ActionScript 3.0并没有原生支持它们,但我们依然可以在ActipScript 3.0里套用抽象类和抽象方法的思想。一个抽象类就是一个总被用来继承且永不会直接被实例化的类。它的用途跟接口类相似,但有一个最大的不同之处就是:接口类只定义公有方法的名称而没有具体的执行(就像是只有函数名而没有函数体),但抽象类两者都有。
抽象类使用抽象方法,这些抽象方法没有具体的执行,只用作占位符。在其它语言,例如 C#、Java,你可以使用 abstract 关键字来声明抽象方法,它的子类必须重写这些抽象方法。但在ActionScript 3.0里并没有 abstract 关键字,所以我们得想办法解决此问题。
在ActionScript 3.0里使用抽象类,你必须知道两个特别的关键字:override 和 final。子类必须使用override关键字重写抽象类的方法,方法名称必须相同。使用final关键字来声明那些不被子类重写的方法,在模板方法模式里就用到final关键字了。