Tag: 抽象类预览模式: 普通 | 列表

AS3笔记(12),抽象类与接口

本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87

抽象类:又叫抽象基类:可以包含一般类所包含的所有特性,例如,字段,属性,方法,抽象类不能被实例化他主要用在类的定义和部分实现这方面,所以他需要在扩充类中完整的扩充并实现功能.另外抽象类还包含一个很特殊的方法,叫抽象方法(这些方法基本上是没有执行代码的函数,由继承于该类的类重写(override)并提供具体实现).在Java和C#中,有abstract关键字来定义抽象类,而在As3中,并没有提供抽象类的支持,尽管abstract已经属于关键字,我们只可以通过模拟方法来实现抽象类的机制。在AS3笔记(11),适配器模式(Adapter Pattern)的范例中,Adaptee.as就是一个抽象类,而如requestB()则是一个抽象方法.

/*
被适配者类
*/

package {
    public class Adaptee {
        public function requestA():void {
            trace("Adaptee:requestA()");
        }
        public function requestB() {

        }
        public function requestC():void {
            trace("Adaptee:requestC()");
        }
    }
}

接口:接口是一种特殊的抽象类,用interface 关键字标记,他可以包含实例/静态方法和getter/setter方法,任何实现该接口的类就必须按照接口的定义实现这些方法.As3中的类可以实现(implements)多个接口.相对于类,接口更象是一种方法的协议,使用接口可以更好的管理模块的功能,方便整理和引用。在AS3笔记(11),适配器模式(Adapter Pattern)的范例中,ITarget.as则是一个典型的接口.

/*
定义接口
*/

package {
    public interface ITarget {
        function renamedRequestA():void;
        function requestA():void;
        function requestB():void;
        function requestC():void;
        function requestD():void;
    }
}

帮助中提到,接口是定义一个方法组的数据类型,其中的方法必须由实现接口的任何类定义。

查看更多...

Tags: AS3笔记 as3.0 抽象类 接口

分类:鸳歌-Ria应用 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 7508